函数的赋值与调用
小甲鱼Python课后习题第二十一讲的6.请目测以下表达式会打印什么?
def make_repeat(n):
return lambda s : s * n
double = make_repeat(2)
print(double(8))
print(double('FishC'))
最后打印的是
16
FishCFishC
不是特别理解
double = make_repeat(2)
print(double(8))这两句
这两句是将参数传递给谁了,为什么 第一行的参数 传给 make_repeat 了
第二行的参数 传给 make_repeat 的返回值 double 了 内层还有一个函数,也就是说,你传参传进的是内部的lambda函数。 永恒的蓝色梦想 发表于 2020-4-29 20:33
第一行的参数 传给 make_repeat 了
第二行的参数 传给 make_repeat 的返回值 double 了
是不是能这么理解
double = make_repeat(2)就是double=lamdbas:s*2
double(8)就是double(8)=lamdba s:s*2(此处s为8) 君子好逑 发表于 2020-4-29 20:39
是不是能这么理解
double = make_repeat(2)就是double=lamdbas:s*2
double(8)就是double(8)=lamdba ...
是的 本帖最后由 zltzlt 于 2020-4-29 20:46 编辑
https://fishc.com.cn/forum.php?mod=viewthread&tid=166798
PS:如果你的问题已解决,请设置【最佳答案】。 永恒的蓝色梦想 发表于 2020-4-29 20:43
是的
谢谢大佬 君子好逑 发表于 2020-4-29 20:49
谢谢大佬
{:10_247:}
页:
[1]