Python3匿名函数
前面我们学习了函数,Python 不仅仅满足有对函数参数进行各种装饰的语法糖,而且还有了匿名函数的高逼格姿势,今天我们就来学习一下匿名函数 lambda。
匿名函数的定义和使用
在前面的函数知识学习后,我们知道在 python 中用【def + 函数名+参数】的方式定义函数,即:
def function_name(parameters): pass
这样的函数拥有函数名,调用函数只需要:
function_name(input_parameter)
我们把 def 定义的函数叫作“有名函数”,那什么是匿名函数呢?顾名思义,这类函数没有显示地定义函数名。
匿名函数不需要显示地定义函数名,使用【lambda + 参数 +表达式】的方式,即:
lambda [arg1 [,arg2, ... argN]] : expression
也就是说,lambda 用来表示匿名函数,可以传入多个参数,但只能有一个表达式。比方说,我要写一个函数用于两个数相乘:
func = lambda x, y: x*y
可以看到,上面我们把匿名函数对象赋给一个变量,只要直接调用该对象就可以使用匿名函数:
func(2, 3) # 结果为 6
当然,匿名函数和有名函数一样都是函数,匿名函数具有有名函数的一切特点。
匿名函数的优点
以上对匿名函数作了解释,也举了一些例子用以说明。那么,匿名函数的优点是什么呢?
- 不用取名称,因为给函数取名是比较头疼的一件事,特别是函数比较多的时候。
- 可以直接在使用的地方定义,如果需要修改,直接找到修改即可,方便以后代码的维护工作。
-
语法结构简单,不用使用
def 函数名(参数名):
这种方式定义,直接使用lambda 参数:返回值
定义即可。
本节重要知识点
会使用匿名函数。
了解匿名函数的特性。
评论列表