class Ball:
a = []
def __init__(self):
pass
def add(self,thing):
self.a.append(thing)
def size(self):
print len(self.a)
for i in range(3):
foo = Ball()
foo.add(1)
foo.add(2)
foo.size()
我希望回报:
2
2
2
但我得到:
2
4
6
为什么是这样?我发现通过在init中执行 a=[] ,我可以绕过这种行为,但我不太清楚为什么。