Python 中定義函數有兩種方法,一種是用常規方式def 定義,函數要指定名字,第二種是用lambda 定義,不需要指定名字,稱為Lambda 函數。
Lambda函數又稱匿名函數,匿名函數就是沒有名字的函數,函數沒有名字也可以?當然可以啦。有些函數如果只是臨時一用,而且它的業務邏輯也很簡單時,就沒必要非給它取個名字不可。
好比電影裡面的群眾演員,往往他們的戲份很少,最多是襯托主演,跑跑龍套,他們需要名字嗎?不需要,因為他們只是臨時出鏡,下次可能就用不了,所以犯不著費心思給他們每個人編個號取個名字,畢竟取個優雅的名字是很費勁的事情。
先來看個簡單lambda 函數
>>> lambda x, y : x+y <function <lambda> at 0x102bc1c80>
x 和y 是函數的兩個參數,冒號後面的表達式是函數的回傳值,你能一眼看出這個函數就是是在求兩個變數的和,但作為一個函數,沒有名字如何使用呢?這裡我們暫且給這個匿名函數綁定一個名字,這樣使得我們呼叫匿名函數成為可能
>>> add = lambda x, y : x+y >>> add <function <lambda> at 0x102bc2140> >>> add(1,2) 3
它等同於常規函數
>>> def add2(x, y): ... return x+y ... >>> add2 <function add2 at 0x102bc1c80> >>> add2(1,2) 3
相關推薦:《Python教程》
以上是python中lamda函數什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!