如何使用setattr()
将对象的字典添加到对象的字典中?假设我在班上定义了fields
字典。从另一个类我想在这本词典中添加一个键。我该怎么办? setattr(cls, 'fields', 'value')
完全更改了该属性。
答案 0 :(得分:5)
如果您需要沿着名称查找路线前进,则不要使用:
getattr(cls, 'fields')['key'] = 'value'
答案 1 :(得分:2)
您应该使用getattr
代替setattr
来执行此操作。就像是。
>>> class TestClass:
def __init__(self):
self.testDict = {}
>>> m = TestClass()
>>> m.testDict
{}
>>> getattr(m, "testDict")["key"] = "value"
>>> m.testDict
{'key': 'value'}
答案 2 :(得分:2)
cls.fields['key'] = 'value'
。