Python_默认函数调用(每次调用的都是同一函数)
默认函数调用
特殊逻辑:调用时,默认调用的都是同一函数
简单示例:
def add_end(L=[]):
L.append('END')
return L
print (add_end([1, 2, 3])) #调用正常
print (add_end(['x', 'y', 'z'])) #调用正常
print (add_end())#调用正常
print (add_end())#调用不正常
print (add_end())#调用不正常
结果如下:
若想每次调用默认函数时,结果不相互影响,可做如下处理:
解决方法
#coding=utf-8
def add_end(L=None):
if L is None:
L =[]
L.append('END')
return L
print (add_end([1, 2, 3])) #调用正常
print (add_end(['x', 'y', 'z'])) #调用正常
print (add_end())#调用正常
print (add_end())#调用正常
print (add_end())#调用正常