def add(x=[]):
x.append(1)
print x
add()
add()
add([])
add()
输出
>>>
[1]
[1, 1]
[1]
[1, 1, 1]
>>>
如果调用方法add() 没提供参数的话,那边就一直使用相同的x!
Python默认参数陷阱
本文通过一个简单的Python函数示例揭示了使用可变类型作为默认参数的常见陷阱,并解释了为什么多次调用该函数会产生意料之外的结果。文章还强调了在不提供参数的情况下重复使用同一对象的潜在风险。
def add(x=[]):
x.append(1)
print x
add()
add()
add([])
add()
输出
>>>
[1]
[1, 1]
[1]
[1, 1, 1]
>>>
如果调用方法add() 没提供参数的话,那边就一直使用相同的x!
9652
479

被折叠的 条评论
为什么被折叠?