python學習筆記 匿名函式

2021-09-19 08:02:24 字數 1215 閱讀 3714

上篇:

當我們在建立函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。這省去了我們挖空心思為函式命名的麻煩,也能少寫不少**,很多程式語言都提供這一特性。

python語言使用lambda關鍵字來建立匿名函式。

所謂匿名,即不再使用def語句這樣標準的形式定義乙個函式。

lambda只是乙個表示式,而不是乙個**塊,函式體比def簡單很多。

僅僅能在lambda表示式中封裝有限的邏輯。

lambda 函式擁有自己的命名空間。

例如:lambda x: x * x。它相當於下面的函式:

def f(x):

return x*x

關鍵字lambda表示匿名函式,冒號前面的x表示函式引數,x*x是執行**

匿名函式只能有乙個表示式,不用也不能寫return語句,表示式的結果就是其返回值。 匿名函式沒有函式名字,不必擔心函式名衝突,節省字義空間。此外,匿名函式也是乙個函式物件,也可以把匿名函式賦值給乙個變數,再利用變數來呼叫該函式:

f = lambda x: x * x

fat 0x3216fef44>

f(6)

36也可以把匿名函式作為別的函式的返回值返回

def count(i,j):

return lambda : i*j

f = count(6,7)

print(f())

對列表中的字典進行排序

lis = [1,-2,4,-3]

lis.sort(key=abs)

print(lis)

infors = [,,]

infors.sort(key = lambda x:x['name'])

print(infors)

def test(a,b,func):

result = func(a,b)

return result

nums = test(11,22,lambda x,y:x+y)

print(nums)

Python學習筆記 匿名函式

一般我們常見的函式多是過程式程式設計,通過匿名函式可以實現函式式程式設計。在python中,對匿名函式提供了有限支援,常和reduce,filter等函式結合使用。以map 函式為例,計算 f x x 2 時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 map lambda x x x,1...

Python 學習筆記 5 3 匿名函式

當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 list map lambda x x x,1,2,3,4,5,6,7,8,9 1...

Python學習筆記02 匿名函式

用lambda關鍵字能建立小型匿名函式,其預設了用def宣告函式的標準步驟。如 func lambda x,y x y func 1,2 31.讓資料按指定順序排序 例 stu 如何讓資料按age或name排序?stu stu.sort key lambda x x age 按age排序 stu s...