
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.1.3 Iambda表达式的使用
lambda就是匿名函数,即没有名字的函数,应用在需要一个函数,但是又不想费神去命名这个函数的场合。在通常情况下,这样的函数只使用一次。在Python中,使用lambda表达式创建匿名函数,其语法格式如下:

在以上语法格式中,result用于调用lambda表达式;[arg1 [,arg2,…,argn]]是可选参数,用于指定要传递的参数列表,各参数之间使用逗号“,”分隔;expression是必选参数,用于指定一个实现具体功能的表达式。如果有参数,那么在该表达式中将应用这些参数。需要注意的是,在使用lambda表达式时,参数可以有多个,用逗号分隔;但是,表达式只能有一个,即只能返回一个值,而且不能出现其他非表达式语句,如for或while语句。
【范例4-1】定义一个计算圆面积的函数,常规的代码如下:

运行程序,输出结果如下:

【范例4-2】使用lambda表达式的代码如下:

运行程序,输出结果如下:

从上面的范例中可以看出,使用lambda表达式可以省去定义函数的过程。而且,对于一些抽象的、不会在别的地方复用的函数,当不想为函数命名时,使用lambda表达式是一个很好的选择。