Интересно, если я использую переменные класса в качестве ключей в словаре, можно ли это считать хорошей практикой?Например, это объектная модель в peewee.
class Abc:
name = CharField()
age = IntegerField()
, тогда я объявляю для нее конфигурационный файл, подобный этому
conf = {Abc.name: Config(listable=False, format_on_edit=True), Abc.age: Config()}
Я не хочу использовать строку типа name
, age
в качестве ключей dict, потому что я боюсь опечаток и хочу убедиться, что поле Объект / Модель является действительным.
Я вижу, что Sqlalchemy или Peewee используют условие типа where(Abc.name=='abc')
или filter(User.age == 25)
не where('name', 'abc')
, как многие другие формы из Go или PHP, так как они не имеют переменных класса.
Это очень хорошо для предотвращения опечаток.Я пробовал hash(Abc.name)
, и он работает, тогда переменные класса неизменны для использования в качестве ключей dict или нет ?