21课第六题的答案看不懂。
21课的习题答案看不懂,def make_repeat(n):
return lambda s : s * n
double = make_repeat(2)
print(double(8))
print(double('FishC'))
我理解double应该是个变量名,不是个函数,怎么他还能带参数,s这个变量怎么给赋值的? double 是一个函数。其实上面那段代码可以这么写:
def make_repeat(n):
def double(s):
return s * n
return double
double = make_repeat(2) # 此时得到的 double 函数为函数内部的 double 函数
print(double(8))
print(double('FishC')) 可以了解一下lambda表达式
页:
[1]