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=[] を実行することで、この動作を回避できることがわかりましたが、その理由はよくわかりません。