看看这个简单的例子。我不太明白为什么 o1 打印两次“Hello Alex”。我认为由于默认 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