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