lambda匿名函数详解
lambda()函数用于创建匿名函数。匿名函数就是没有名称的函数,也就是不再使用def语句定义的函数。
lambda()函数语法格式如下
lambda[args1[,args2,……argn]]:expression
说明:
- [args1[,args2,……argn]]表示函数的参数
- expression是一个表达式,表示函数的返回值,不用写return
- 为了保证创建的函数不被内存回收,最好使用一个变量保存,这样后期可以随时使用这个函数
def和lambda函数的对比总结:
- def创建的函数是有名称的,而lambda没有函数名称,这是最明显的区别之一。
- lambda函数的返回结果通常是一个对象或者一个表达式,它不会将结果赋给一个变量,而def可以
- lambda只是一个表达式,函数体比def简单很对,而def是一个语句。
- lambda表达式“:”后面只能有一个表达式,而def可以有多个。
- 像if或者for等语句不能用于lambda中,而def可以使用。
- lambda一般用于定义简单的函数,def可以定义复杂的函数。