class test:
def __init__(self):
self.see=0
self.dic={"1":self.see}
examine=test()
examine.see+=1
print examine.dic["1"]
print examine.see
结果是 0 和 1,这是没有意义的。
print id(examine.dic["1"])
print id(examine.see)
它们也有不同的内存地址
但是,如果您使用相同的示例,但在 see 中有一个数组而不是变量。你得到了预期的输出。
有什么解释吗?
这给出了预期的输出:
class test:
def __init__(self):
self.see=[0]
self.dic={"1":self.see}
examine=test()
examine.see[0]+=1
print examine.dic["1"][0]
print examine.see[0]