【发布时间】:2011-09-20 02:49:12
【问题描述】:
可能重复:
“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 的值轻松地看到这一点。 :)
标签: python parameters parameter-passing optional-parameters