書名: Python 3.6從入門到精通(視頻教學版)作者名: 王英英本章字數: 448字更新時間: 2019-12-06 14:20:15
6.10 匿名函數
所謂匿名,即不再使用def語句這樣的標準形式定義一個函數。Python將使用lambda創建一個匿名函數。
下面定義一個返回參數之和的函數。
def f(x,y): return x+y
用戶的函數只有一個表達式,可以使用lambda運算符來定義這個函數。
f = lambda x, y: x + y
那么,lambda表達式有什么用處呢?很多人提出了質疑,lambda與普通的函數相比,就是省去了函數名稱而已,同時這樣的匿名函數又不能共享在別的地方調用。
其實,Python中的lambda還是有很多優點的,主要包含如下:
(1)在Python中寫一些執行腳本時,使用lambda可以省去定義函數的過程,讓代碼更加精簡。
(2)對于一些抽象的、不會在其他地方再重復使用的函數,取名字也是一個難題,使用lambda則不需要考慮命名的問題。
(3)在某些時候,使用lambda會讓代碼更容易理解。
當然,匿名函數也有一些規則需要謹記:
(1)若只有一個表達式,則必須有返回值。
(2)可以沒有參數,也可以有一個或多個參數。
(3)不能有return。
lambda語句中,冒號前是參數(可以有多個)用逗號隔開冒號右邊的返回值。lambda語句構建的其實是一個函數對象。
例如,求取x的平方值:

運行結果如圖6-44所示。

圖6-44 運行結果
推薦閱讀
- iOS面試一戰到底
- Python程序設計教程(第2版)
- 軟件項目管理(第2版)
- Python語言程序設計
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- 快速念咒:MySQL入門指南與進階實戰
- Python機器學習基礎教程
- C++新經典
- Instant Ext.NET Application Development
- Learning Probabilistic Graphical Models in R
- Hacking Android
- Greenplum構建實時數據倉庫實踐
- Sitecore Cookbook for Developers
- 從零開始學UI設計·基礎篇