def est(x, l=[]): for o in range(x): l.append(o) print(l) est(3) est(1, [3, 2, 1]) est(3)
[0, 1, 2] [3, 2, 1, 0] [0, 1, 2, 0, 1, 2]
原因:可变类型作为参数在不显示传递参数时,每次函数调用时候都是共用的;如果传递了参数(比如第二种)则不会互相影响。
另外的一些例子:https://blog.csdn.net/jclian91/article/details/86664387