默认参数陷阱

def xj(l = []):
    l.append(1)
    print(l)
xj()
xj()
xj()
xj([])
xj()
xj()
xj()
View Code

原因:形参中使用的是默认参数,且是可变数据类型。当实参什么都不传时,共同使用一个默认列表,说以会一直往列表中添1.当传一个列表的时候,会使用这个新的列表·,所以只有一个1.

原文地址:https://www.cnblogs.com/zly9527/p/11272874.html