-1
查閱以下代碼:默認參數值
def f(x, myList = []):
myList.append(x)
return myList
F(6)
返回[6]
而
F(7)
return [6,7]
我的問題是爲什麼當沒有指定值時它不使用默認的myList值。
在另一方面,此代碼工作正常
def f(x, myList = None):
if myList == None:
# This WILL allocate a new list on every call to the function.
myList = []
myList.append(x)
return myList
F(6)
返回[6]
F(7)
返回[7]
爲什麼在後面的情況下,它採用默認的參數值,但不是在前一種情況下?