函数的默认参数只初始化一次
函数的默认值只会创建一次,之后不会再变了,使用对象(列表、字典、实例)作为默认值,会导致函数混乱
def f(a, L=[]):
L.append(a)
return L
for i in range(3):
print f(i)
# 输出
[0]
[0, 1]
[0, 1, 2]
- 规避方法
def f(a, t=None):
t = t or []
t.append(a)
return t
印光大师十念法(胡小林主讲第1集)
http://v.youku.com/v_show/id_XMzUwMzc4NzY4NA