Python中的lambda關鍵字可以理解為:其功能類似於函數指針。lambda的官方翻譯是匿名函數,這是相對與正常的函數來說的,舉例說明:
定義一個正常的函數,實現增1運算:
def plus1(x):
return x+1
上面的語句實現了:
1. 定義了一個函數,函數名叫:plus1
2. 此函數有一個參數
對應的匿名函數語句寫作:
lambda x:x+1
注意,這是一個表達式,所以他實際上是做不了任何事情的。。。
那麼我們如果想調用函數來實現增1運算,分別用正常函數和匿名函數的實現舉例如下:
實名函數實現:
def plus1(x):
return x+1
a = 0
a = plus1(a)
print a
匿名函數實現:
func = lambda x:x+1
a = 0
a = func(a)
print a
結論,匿名函數的用法,既像C語言中的宏定義,又像C語言中的函數指針。
將匿名函數和實名函數結合起來使用就更加好玩了,比如:
def plus1(x):
return x+1
func = lambda x:plus1(x)
a = 0
a = func(a)
print a
你看,這不就是函數指針的用法了嗎?
C語言有了函數指針就變得靈活無比,同樣,將lambda用上之後,python也可以變得同樣的靈活。
--------------------------------------分割線 --------------------------------------
CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm
《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm
《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm
Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm
Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡