为什么引用?
def make_repeat(n):return lambda s : s * n
double = make_repeat(2)
print(double(8))
print(double('FishC'))
请问为什么会打出'FishC' def make_repeat(n):
return lambda s:s*n
make_repeat(n)会返回一个匿名函数(lmbda)
double=make_repeat(2)
给make_repeat传入一个参数2
相当于构成了一个函数double,这个double相当于
def double(s):
return s*2
之后给double传入的参数会*2
第一个例子double(8) = 8 * 2 = 16
第二个例子double('fishC') = 'fishC' * 2 = 'fishCfishC'
延伸:
def make_fun(n):
return lambda s:s**n
power = make_fun(2) #构成平方函数
print(power(3)) #3的2次方
Cubed = make_fun(3) #构成立方函数
print(Cubed(4)) #4的3次方
页:
[1]