lambda 表达式
求助这段代码的实现过程。。。。def make_repeat(n):
return lambda s : s * n
double = make_repeat(2)
print(double(8))
print(double('FishC'))
有点看不太明白:
16
FishCFishC 这段代码就相当于这样:
def make_repeat(n):
def double(s):
return s * n
return double
double = make_repeat(2)
print(double(8))
print(double('FishC'))
make_repeat(2) 传进了参数 n,之后把内部的 double 赋值给外部的变量 double,调用 double() 就相当于调用函数内部的 double,所以 double(8) == 8 * n == 8 * 2,double('FishC') == 'FishC' * n == 'FishC' * 2
看看这个有没帮助:
lambda表达式
https://fishc.com.cn/thread-174075-1-1.html
(出处: 鱼C论坛)
页:
[1]