在字典中通过引用传递值



我有一本字典:

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

相关内容

  • 没有找到相关文章

最新更新