21讲课后习题最后一题不是很理解求助一下
代码如下:def make_repeat(n):
return lambda s:s*n
double=make_repeat(2)
print(double(8))
print(double('fishC'))
会打印:16
fishCfishC
为啥会打印这两个数据 不太理解求解释一下谢谢!!! 本帖最后由 逃兵 于 2021-2-2 15:52 编辑
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次方
逃兵 发表于 2021-2-2 15:48
make_repeat(n)会返回一个匿名函数(lmbda)
好的谢谢大佬{:5_91:}
页:
[1]