【发布时间】:2018-02-06 10:01:53
【问题描述】:
我正在尝试使用setattr 和字符串更新类的属性。因此,例如使用以下代码:
class ClassA():
def __init__(self):
self.A = 0
class ClassB():
def __init__(self):
self.CA = ClassA()
CB = ClassB()
setattr(CB, "CA.A", 2)
print(CB.CA.A)
当我执行setattr(CB, "CA.A", 2) 时,它不会更新CB 中CA 类的属性A。相反,它会创建另一个属性,如图所示:
然后当我打印 print(CB.CA.A) 时,我得到一个 0 值。
我不明白为什么会发生这种情况以及是否存在解决方案?
【问题讨论】: