如果函数接收多个参数而只给reduce的参数队列不够数量参数,则会发生一下各种情况:
def func1(x,y,z):
return x+y+z
def func2(x,y):
return x+y
def func21(x,y=1):
return x+y
def func3(x,y,z):
return x+y+z
def func4(x,y,z=1):
return x+y+z
by = [1]
by2 = [1,2]
print reduce(func1,by) # 1 ,两个以上参数只给一个,不执行return直接返回传人的唯一的值
print reduce(func2,by) # 1
print reduce(func21,by) # 1
print reduce(func4,by2) # 4
# print reduce(func3,by2) # error,3个参数给2个,就会报错
那么,各位是否知道在reduce 内部是如何判断以及返回的呢?