我正在使用其getter和setter函数创建许多动态属性。我如何在其吸气剂中得到名称hello
?
class Foo:
__hello = 'This is hello'
__data = {'a': 'alpha', 'b': 'beta', 'c': 'gamma'}
@property
def hello(self):
return self.__hello
@hello.setter
def hello_getter(self, value):
self.__hello = value
def __get(self):
# Something like this where key is the attribute name.
# return self.__data.get(key)
pass
def __set(self):
for item in self.__data.items():
key, value = item
setattr(self, key, value)
setattr(eval(self.__class__.__name__), key, property(self.__class__.__get)) # This line set each attribute to the getter method.
在声明self
和__hello
时应使用__data
。
self.__hello = 'This is hello'
self.__data = {'a': 'alpha', 'b': 'beta', 'c': 'gamma'}