由于局部函数的作用域默认仅停留在其封闭函数之内,因此局部函数的函数名的作用很有限。既然局部函数的函数名没有太大意义,那么就考虑使用lambda表达式来简化局部函数的写法。例如:
Python要求lambda表达式只能是单行表达式。 lambda表达式语法格式如下: lambda [parameter_list]: 表达式
lambda表达式的几个要点:
必须使用lambda关键字定义;参数列表可以没有参数,也可以有多个参数。如果有多个参数,需要用逗号隔开。冒号右边是该lambda表达式的返回值。
当函数体只有一行语句时,可以用lambda表达式简化。例如:
def add(x
, y
): x
+ y
函数比lambda表达式的适应性更强,lambda表达式只能创建简单的函数对象。
lambda表达式的两个用途:
对于单行函数,使用lambda表达式可以省去定义函数的过程,是代码更加简洁;对于不需要多次复用的函数,lambda表达式可以在用完该函数后立即释放,提高性能。