我已经在Stack Exchange上阅读了许多答案,例如Python - why use "self" in a class?。阅读这些答案后,我明白实例变量是唯一的,每个类的实例都有自己的实例变量,而类变量则在所有实例之间共享。
在尝试中,我发现以下代码输出
然而,这段代码会输出
在尝试中,我发现以下代码输出
[1]
:class A:
x = []
def add(self):
self.x.append(1)
x = A()
y = A()
x.add()
print "Y's x: ", y.x
然而,这段代码会输出
10
,但我认为应该输出11
:class A:
x = 10
def add(self):
self.x += 1
x = A()
y = A()
x.add()
print "Y's x: ", y.x
为什么当我运行 x.add()
时,A
类变量没有被更新?由于我在编程方面经验不足,请多多包涵。