可能重复:
“Least Astonishment” in Python: The Mutable Default Argument
def test(mylist=['a']):
mylist.append(1.)
print mylist
test()
test()
给我以下结果:
['a', 1.0]
['a', 1.0, 1.0]
为什么会这样?我希望:
['a', 1.0]
['a', 1.0]
测试被调用两次,每次将mylist创建为局部变量。