在Python中动态加载属性

我想在python中动态加载属性。我应该使用财产还是有更好的方法?这里有一个例子:在Python中动态加载属性

class Test: 

def __init__(self):

self.__datas = None

self.id = 30

def loadDatas(self):

self.__datas = {"a": "Hello", "b": "Hi"}

Test = Test()

test.a // Call loadData and return "Hello"

test.c // raise error

test.id // print '30'

回答:

您只需更新数据字典中的每一个元素的测试.__ dict__,这是做到这一点的方法之一。

class Test: 

def __init__(self):

self.__data = {'a': 'Hello', 'b': 'Hi'}

self.__dict__.update(self.__data)

self.id = 30

def add(self, key, value):

self.__data.update({key: value})

self.__dict__.update(self.__data)

test = Test()

print(test.a)

# print(test.c) raises error

# print(test.id) OK

test.add('c', 'b')

# print(test.c) now ok

以上是 在Python中动态加载属性 的全部内容, 来源链接: utcz.com/qa/263954.html

回到顶部