Jak dynamicznie tworzyć właściwości w Pythonie?
Załóżmy, że mam taką klasę:
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']
To byłoby długie i kłopotliwe zadanie do zdefiniowania i wydaje się wysoce zbędne. Czy istnieje sposób dynamicznego tworzenia tych właściwości? Wiem, że możesz dynamicznie tworzyć atrybuty z wbudowanym setattr, ale chcę mieć kontrolę nad dostępem do odczytu / zapisu / usuwania (z tego powodu chcę użyć właściwości). Dzięki!