pyhon學習筆記--lambda
阿新 • • 發佈:2019-02-02
之前用過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不熟悉的人是不能很好的理解這種寫法的,所以也不推薦經常使用。