可能重複:
「Least Astonishment」 in Python: The Mutable Default Argument可選參數的默認值
我有點困惑如何可選參數在Python函數/方法的工作。
我有下面的代碼塊:
>>> def F(a, b=[]):
... b.append(a)
... return b
...
>>> F(0)
[0]
>>> F(1)
[0, 1]
>>>
爲什麼F(1)
回報[0, 1]
而不是[1]
?
我的意思是,裏面發生了什麼?
你可以看到,很容易僅僅通過附加之前打印b的值到名單。 :) – sam