重複の可能性:
Pythonの「驚き最小の原則」:可変のデフォルト引数引数の
デフォルト値
クラスに属するリストがどのように動作するかを説明するのに問題があります。
>>> class A(object):
... def __init__(self, L=[]):
... self.L = L
...
>>> a1 = A()
>>> a2 = A()
>>> a1.L.append("test")
>>> print a1.L
['test']
>>> print a2.L
['test']
この例では、a2.Lはどのようにして値を取得しましたか?a1のリストにアイテムを追加しただけです。彼らが今リストを共有しているのはどうですか。
ありがとう、
ヘンリー