Como eu dinamicamente cria propriedades em Python?
Suponha que eu tenha uma aula assim:
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']
Esta seria uma tarefa longa e complicada para definir e parece altamente redundante. Existe uma maneira de criar dinamicamente essas propriedades? Eu sei que você pode criar dinamicamente atributos com o setattr interno, mas eu quero ter controle sobre o acesso de leitura / gravação / exclusão (por esse motivo eu quero usar uma propriedade). Obrigado!