返回函数与匿名函数:
以下是两种相同作用的两个函数,一个是利用lambda表达式,一个没有,可以看出lambda的简洁之处。
通过下面代码一与代码二的对比,可以看出:
当返回lambda表达式为无参数时,其式中的x,y为外部变量,其具体数据由外部的所给定的x,y所决定,如代码一
代码一:
1 2 3 4 5 6 7 8 9 10 11
| def build_return_lambda(x, y): return lambda: x ** 2 + y ** 2
def build_return(x, y): def g(): return x ** 2 + y ** 2 return g
f = build_return_lambda(2, 2) print(f())
|
当返回的lambda表达式为有参时,则由用户输入的决定
代码二:
1 2 3 4 5 6 7 8 9 10 11
| def build_return_lambda2(): return lambda x, y: x ** 2 + y ** 2
def build_return1(): def g(x, y): return x ** 2 + y ** 2 return g
f = build_return_lambda2() print(f(2, 2))
|