この簡単な例を見てください。o1 が「Hello Alex」を 2 回出力する理由がよくわかりません。デフォルトの self.a のため、常に空のリストにリセットされると思います。誰かがここでの理論的根拠を説明してもらえますか? どうもありがとう。
class A(object):
def __init__(self, a=[]):
self.a = a
o = A()
o.a.append('Hello')
o.a.append('Alex')
print ' '.join(o.a)
# >> prints Hello Alex
o1 = A()
o1.a.append('Hello')
o1.a.append('Alex')
print ' '.join(o1.a)
# >> prints Hello Alex Hello Alex