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!

questionAnswers(2)

yourAnswerToTheQuestion