![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=1739197123-LluMhkF1YwgyvObJ3Ft7hnvKZD0uPRP0-0-5412a9a4bd24c2add2ca46e7ea8d38ff)
在以上语法格式中,result用于调用lambda表达式;[arg1 [,arg2,…,argn]]是可选参数,用于指定要传递的参数列表,各参数之间使用逗号“,”分隔;expression是必选参数,用于指定一个实现具体功能的表达式。如果有参数,那么在该表达式中将应用这些参数。需要注意的是,在使用lambda表达式时,参数可以有多个,用逗号分隔;但是,表达式只能有一个,即只能返回一个值,而且不能出现其他非表达式语句,如for或while语句。
【范例4-1】定义一个计算圆面积的函数,常规的代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_2.jpg?sign=1739197123-0R0d3Aq9S65nEMVHCx9KOYls9iZMkHQE-0-20e22f3ee886d10a90bad51d17d79bef)
运行程序,输出结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_3.jpg?sign=1739197123-1lGNC8XcWp2oeHpoj6sVJ1Lwdi2xfq9F-0-d847c12f592a642855eb9161be21d1ac)
【范例4-2】使用lambda表达式的代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_4.jpg?sign=1739197123-jysy7PhtleFH8CZrEVS2aqdiboZFopgy-0-e84a919a78c2834979be3e75aa0fc1eb)
运行程序,输出结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/84_5.jpg?sign=1739197123-keYzKLGpvppjVrThNwhILXA8VuqfNbsd-0-6c71aaa1cb9cce01e0ec7103f714c0f4)
从上面的范例中可以看出,使用lambda表达式可以省去定义函数的过程。而且,对于一些抽象的、不会在别的地方复用的函数,当不想为函数命名时,使用lambda表达式是一个很好的选择。