默认参数陷阱

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

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

posted @ 2019-07-30 21:22  套你大象  阅读(100)  评论(0编辑  收藏  举报