Как мне динамически создавать свойства в Python?
Предположим, у меня есть такой класс:
class Alphabet(object):
__init__(self):
self.__dict = {'a': 1, 'b': 2, ... 'z': 26}
@property
def a(self):
return self.__dict['a']
@property
def b(self):
return self.__dict['b']
...
@property
def z(self)
return self.__dict['z']
Это было бы длинной и громоздкой задачей для определения, и она кажется крайне избыточной. Есть ли способ динамически создавать эти свойства? Я знаю, что вы можете динамически создавать атрибуты с помощью встроенного setattr, но я хочу иметь контроль над доступом для чтения / записи / удаления (по этой причине я хочу использовать свойство). Спасибо!