我已经在Stack Exchange上阅读过很多答案,例如Python - why use "self" in a class? 阅读这些后,我明白实例变量对于类的每个实例都是唯一的,而类变量在所有实例之间共享。 在玩弄我发现这个代码 -类变量和实例变量之间的差异
class A:
x = []
def add(self):
self.x.append(1)
x = A()
y = A()
x.add()
print "Y's x:",y.x
确实给输出[1]
。但是,此代码 -
class A:
x = 10
def add(self):
self.x += 1
x = A()
y = A()
x.add()
print "Y's x:",y.x
使输出10
时,在我看来,它应该是11
。 请原谅,如果这是一个非常不好的问题,但我不是很有经验的编程。
感谢@mbatchkarov,我不知道我是怎么让那个滑:) – MayankJain