可能是重复问题:
“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]
?
我的意思是,内部发生了什么?