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