首頁  >  文章  >  後端開發  >  Python中的匿名函數-lambda

Python中的匿名函數-lambda

高洛峰
高洛峰原創
2016-10-19 13:31:271290瀏覽

簡述

除了def語句之外,Python也提供了一種產生函數物件的表達式形式。這個表達式創建了一個之後能夠呼叫的函數,但是它傳回了一個函數而不是將這個函數賦值給一個變數名稱。

lambda表達式

lambda的一般形式是關鍵字lambda,之後是一個或多個參數,緊接的是一個冒號,之後是一個表達式: lambda argument1 argument2 ... :expression using arguments

是一個表達式,而不是一個語句。

作為一個表達式,lambda回傳了一個值,可以選擇性地賦值給一個變數名。相反,def語句總是得在頭部將一個新的函數賦值給一個變數名,而不是將這個函數作為結果傳回。

lambda主體是一個單一的表達式,而不是一個程式碼區塊。

預設參數也能夠在lambda參數中使用,就像在def中使用一樣。

>>>x = (lambda a = "www.", b = "pythontab", c = ".com": a + b +c)

>>>x("bbs")

'bbs .pythontab.com'

為什麼使用lambda

1. 使用Python寫一些執行腳本時,使用lambda可以省去定義函數的過程,讓程式碼更加精簡。 

2. 對於一些抽象的,不會別的地方再復用的函數,有時候給函數起個名字也是個難題,使用lambda不需要考慮命名的問題。 

3. 使用lambda在某些時候讓程式碼更容易理解。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn