【发布时间】:2011-12-19 16:25:03
【问题描述】:
可能重复:
“Least Astonishment” in Python: The Mutable Default Argument
def stackdemo(stack=[]):
stack.append('q')
return stack
stackdemo()
print stackdemo()
返回['q','q'],而
stackdemo([])
print stackdemo([])
使用相同的函数只返回['q'],正如预期的那样。
如果使用默认值,为什么 Python 似乎会重用数组?我错过了什么吗?
【问题讨论】:
标签: python arrays optional-parameters