匿名函数lambda是一个表达式而不是一个语句,与def语句很相似,可以创建一个之后可以调用的函数.可以嵌套在def中,但是它反悔了一个函数而不是将这个函数赋值给一个变量名.能够使用在def不能使用的地方,由lambda表达式所返回的函数对象与由def创建并赋值后的函数对象工作起来是完全一样的.
 
例如:在列表或是字典常亮之中.多亏了嵌套作用域查找层,lambda能够看到所有编写的函数中可用的变量.
 
实际中:他们常常以一种行内进行函数定义的形式使用,或者用作推迟执行一些代码.
 
表达式:lambda [参数1,参数N] : 表达式
 
返回值:一个新的函数,(可以选择性赋值给一个变量名)
 
 
 
lambda表达式和def语句的区别
1.匿名函数lambda是一个表达式而不是一个语句,这样能够让lambda出现在def不允许出现的地方.例如:在一个列表常量或者函数调用的参数中.
def语句总得在头部将一个新的函数赋值给一个变量名,而不是将这个函数作为结果返回.
 
lambda的主体是一个单个的表达式,而不是一个代码块.比def功能要小,if这样的语句不能够使用.主要用于有限的逻辑.
 
 
等同于
 
 
 
 
 
为什么使用lambda
1.函数速写,带来一更简洁的代码结构
 
2.注册调用的参数列表中编写lambda表达式
 
3.编写跳转列表,
 
 
 
 
 
 
 
 
posted on 2018-09-10 15:53  仓鼠大人爱吃肉  阅读(156)  评论(0编辑  收藏  举报