¿Cómo creo dinámicamente las propiedades en Python?
Supongamos que tengo una clase como esta:
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']
Sería una tarea larga y complicada de definir y parece muy redundante. ¿Hay una manera de crear dinámicamente estas propiedades? Sé que puede crear atributos dinámicamente con el setattr incorporado, pero quiero tener control sobre el acceso de lectura / escritura / eliminación (por esta razón quiero usar una propiedad). ¡Gracias!