我运行这样的代码:
def funtest(L=[]):
L.append(L)
return L
print(funtest([2]))
print(funtest([3]))
print(funtest([4]))
实际输出在下面。
[2, [...]]
[3, [...]]
[4, [...]]
I know a very heated discussion about the Mutable Default Arguments in before: Least Astonishment” and the Mutable Default Argument
根据Mutable Default Arguments规则,我认为输出应为:
[2, [...]]
[2,3, [...]]
[2,3,4, [...]]
有人对此有想法吗?谢谢