我有一本字典:
foo = {"a": self.x}
我想改变一个对象的值self.x
,而不仅仅是保存在字典中的值。我该怎么做呢?
您不能这样做,self.x
的结果存储在字典中,例如10
的值。这里10
与您的实例无关,而且字典foo = {"a": 10}
与实际对象之间也没有关系。
为了改变你的实例变量,你必须访问"instance"本身。例如:
class C:
def __init__(self):
self.x = 10
instance = C()
print(instance.x)
foo = {"a": instance}
foo['a'].x = 20
print(instance.x)
输出:
10
20