关于python 匿名函数
匿名函数:
没有的名字的函数就是匿名函数,lambda和普通的函数相比,就是省去了函数名称而 已,同时这样的匿名函数,又不能共享在别的地方调用。
-
使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
-
对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
-
使用lambda在某些时候让代码更容易理解。
function 函数名(参数){
函数体
return 返回值
}
function (参数){
函数体
return 返回值
}
def 函数名(参数):
#缩进 函数体
lambda ---------- 箭头函数(javaScript)
lambda: 代码
1. 匿名函数和普通函数的对比
#求三个数和
def sum(a,b,c):
return a+b+c
sum_lambda = lambda a,b,c : a+b+c
print(sum(2,3,4))
print(sum_lambda(2,3,4))
2.匿名函数的参数
无参数:
lambda_a = lambda:100
print(lambda_a())
一个参数
多个参数
表达式分支
lambda_b = lambda x : x if x % 2 == 0 else x+2
print(lambda_b(6))
print(lambda_b(7))
3.作为一个参数传递
def func(a,b,func):
print("a=",a)
print("b=",b)
print("a-b=",func(a,b))
func(100,1,lambda a,b:a-b)
- 作为函数的返回值
def func(a,b):
return lambda c : a+b+c
return_func = func(1,1000) #匿名函数 lambda c : a+b+c
print(func)
print(return_func)
print(return_func(100)) #调用return_funct()