![Python核心编程从入门到开发实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/118/30638118/b_30638118.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.1.3 Iambda表达式的使用
lambda就是匿名函数,即没有名字的函数,应用在需要一个函数,但是又不想费神去命名这个函数的场合。在通常情况下,这样的函数只使用一次。在Python中,使用lambda表达式创建匿名函数,其语法格式如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_1.jpg?sign=1739557989-vyaN9PqwMZJ6MjuiQoJd2CDqyjJlkJIW-0-d2fb2e287c5f00616e03b4922888c0b2)
在以上语法格式中,result用于调用lambda表达式;[arg1 [,arg2,…,argn]]是可选参数,用于指定要传递的参数列表,各参数之间使用逗号“,”分隔;expression是必选参数,用于指定一个实现具体功能的表达式。如果有参数,那么在该表达式中将应用这些参数。需要注意的是,在使用lambda表达式时,参数可以有多个,用逗号分隔;但是,表达式只能有一个,即只能返回一个值,而且不能出现其他非表达式语句,如for或while语句。
【范例4-1】定义一个计算圆面积的函数,常规的代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_2.jpg?sign=1739557989-34IamfzJQ9Qr38LtTRLEMpWAW0gKcv1F-0-29ff31917b4f265ae7894c5202b89ed7)
运行程序,输出结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_3.jpg?sign=1739557989-3lCP3xaBA7Nz4p2Pi6C812zsYsfUKtzX-0-7117e9388f4f99525ca72b07afcc9c37)
【范例4-2】使用lambda表达式的代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_4.jpg?sign=1739557989-AF8FOgOlzvdLE5K5yILwE04OG4vPWBOw-0-66ef8e3d7529643c0da8190c65782531)
运行程序,输出结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_5.jpg?sign=1739557989-CHwZCdN9Jsxe3qUPETQCHz0Rxa2I6UgT-0-38c106549a6b599db3e31e54e0b9c85e)
从上面的范例中可以看出,使用lambda表达式可以省去定义函数的过程。而且,对于一些抽象的、不会在别的地方复用的函数,当不想为函数命名时,使用lambda表达式是一个很好的选择。