python學習筆記 lambda

2021-08-08 09:53:54 字數 808 閱讀 8851

之前用過lambda,但是雖然用過卻並沒有仔細的想過lambda,今天就簡單的說說lambda。

還是遵循我固有的三板斧:what,how,why。

1、lambda是什麼,以及怎麼用:lambda是乙個匿名函式,用法如下。

a = lambda x:x+1
上式等價與:
def a(x):
reurn x+1
下面的式子大家一看就知道是乙個函式,而上面的表示式看起來很不像,lambda只是簡化了函式的形式。
當我們使用上式的時候:
print a(1)
>>>2
其實,lambda 關鍵字就表示了這是乙個匿名函式,後面的x表示的是函式的引數,而x+1表示的是函式體的內容。同時會講x+1,也就是函式體的內容執行結果返回回去。
2、為什麼要使用匿名函式?

lambda的作用就是能夠是**簡潔,但是卻並沒有提公升**的執行效率,這一點和c語言中的巨集定義(函式形式)是有些不同的,c語言中的巨集定義在預處理階段就會被替換掉,同時在執行前會被編譯好,提高了**的執行效率,避免了函式執行過程中的效能損失。然而lambda並沒有實現這樣的效果,其執行效率和普通寫法相同,如果對python不熟悉的人是不能很好的理解這種寫法的,所以也不推薦經常使用。

python學習之map函式和lambda函式

map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。map function,iterable,在map中,不會對itetable進行修改 def fun x return 2 x t ...

Haskell語言學習筆記(79)lambda演算

根據維基百科,lambda演算 英語 lambda calculus,calculus 是一套從數學邏輯中發展,以變數繫結和替換的規則,來研究函式如何抽象化定義 函式如何被應用以及遞迴的形式系統。lambda演算由 lambda 項的語言構成。基本的 lambda 項只包含以下三種 語法名稱 描述h...

Python基礎刻意練習 函式與lambda表示式

本系列定位為複習筆記,某些內容並未提及。在此記錄一些典型疑問和我在學習中的問題或經常遺忘的細節,也會新增一些覺得有意思的部分 其實就是隨心所欲 內容主要使用 進行傳達 def printme str print str printme 1 printme 2 temp printme hello p...