lambda表示式可以用來宣告匿名函式,也就是沒有函式名字的臨時使用的小函式lambda表示式只可以包含乙個表示式,不允許包含復合語句尤其適合需要乙個函式作為另乙個函式引數的場合。
也可以定義具名函式
lambda [arg1 [, arg2,......argn]]: expression
>>> f = lambda x: x ** 2
>>> f(2)
4
lambda表示式也可以被命名。
>>> f1 = lambda x: none
>>> f1(2)
>>> f2 = lambda x: 0
>>> f2(3)
0>>> f2(1)
0
若expression不是關於x的函式,則無論引數為什麼,都返回固定的結果
雖然lambda和普通的函式相比,就是省去了函式名稱而已。但是:
使用python寫一些執行指令碼時,使用lambda可以省去定義函式的過程,讓**更加精簡。
對於一些抽象的,不會別的地方再復用的函式,有時候給函式起個名字也是個難題,使用lambda不需要考慮命名的問題。
使用lambda在某些時候讓**更容易理解。
參考文獻:
參考1參考2
Python的匿名函式
python定義函式格式 def func name pass 定義名字 函式體部分情況下不需要重複呼叫 匿名函式 一次返回值即可 比如 max min sorted usr bin env python coding utf 8 author xp blog url 內建函式 map reduce...
python匿名函式
例如 a 100 b a 這樣100只會有乙份,a和b只是指向了同乙個位置,改變a的值b也會跟著改變 當我們用id 變數 檢視兩變數的位址是相同的 可變型別 列表,字典 不可變型別 除了可變型別剩下的都是不可變型別 不可變型別舉例 a world 可以輸出a 0 整個字串也可以修改,但是要修改a 0...
python 匿名函式
在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 map lambda x x x,1,2,3,4,5,6,7,8,9 1,4,9,16,25,36,49,64,81 通過對比可以看出,匿名函式lambda ...