一、前言
匿名函数是指没有名字的函数,它主要应用在需要一个函数、但是又不想费神去命名这个函数的场合。通常情况下,这样的函数只使用一次。
二、匿名函数语法格式
在Python中,使用lambda表达式创建匿名函数,其语法格式如下:
result = lambda[arg1[,arg2,...,argn]]:expression
参数说明:
- result:用于调用lambda表达式。
- [arg1[,arg2,…,argn]]:可选参数,用于指定要传递的参数列表,多个参数使用逗号“,”分隔。
- expression:必选参数,用于指定一个实现具体功能的表达式,如果有参数,那么在该表达式中将应用这些参数。
注意: 使用lambda表达式时,参数可以有多个,用逗号“,”分隔,但是表达式只能有一个,即只能返回一个值,而且也不能出现其他非表达式语句(如for或while)。
三、匿名函数实例应用
例如,要定义一个计算原的面积的函数,常规的代码如下:
import math # 导入math模块
def circlearea(r): # 计算园的函数
result = math.pi * r * r # 计算园的公式
return result # 返回园面积
r = 10 # 半径
print("半径为", r, "的园面积为:", circlearea(r))
执行以上代码,将显示以下结果:
使用lambda表达式的代码如下:
import math # 导入math模块
r = 10 # 半径
result = lambda r: math.pi * r * r # 计算园面积的lambda表达式
print("半径为", r, "的园面积为:", result(r))
执行以上代码,将显示以下结果:
从上面示例中,可以看出虽然使用lambda表达式比自定义函数代码减少了一些。但是在使用lambda表达式时,需要定义一个变量,用于调用该lambda表达式,否则将出类似的结果:
<function <lambda> at 0x000002679E19F040>
使用技巧: lambda表达式的首要用途是指定短小的回调函数。