可能性の重複:
“Least Astonishment” in Python: The Mutable Default ArgumentオプションのPython関数のパラメータとそのデフォルト値
私は一種の混乱しPython関数/メソッドでどのように機能するかのオプション・パラメータについてです。
I次のコードブロックを持っている:
>>> def F(a, b=[]):
... b.append(a)
... return b
...
>>> F(0)
[0]
>>> F(1)
[0, 1]
>>>
なぜF(1)
戻り[0, 1]
ない[1]
?
つまり、の内部で何が起こっていますか?
:デフォルトのリストを取得(または辞書を、または設定)するための正しい方法は、関数の内部で、代わりに、実行時にそれを作成することですリストに追加します。 :) – sam