可能重复:
“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