1. 程式人生 > >Python lambda 知識點

Python lambda 知識點

一篇猿人學Python教程學習筆記之lambda

作者說學會了lambda後,你會用上癮的,因為讓程式碼複用和簡潔。

初識lamdba不太好理解,尤其是它能當著一個變數傳遞給函式,不過多學著寫幾個例子就好了,下面是我的學習筆記。

 

 

 

 

lambda 操作符(或 lambda函式)通常用來建立小巧的,一次性的匿名函式物件。它的基本語法如下:

lambda arguments : expression

 

lambda操作符可以有任意數量的引數,但是它只能有一個表示式,且不能包含任何語句,返回一個可以賦值給任何變數的函式物件。

下面通過一個例子來理解一下。首先看看一個Python函式:

def add(x, y):
    return x+y

# call the function
add(1, 2)  # Output: 3

 

上述函式名為add, 它需要兩個引數x和y,並返回它們的和。
接下來,我們把上面的函式變成一個lambda函式:

add = lambda x, y : x + y

print(add(1,2))  # Output: 3

 

lambda x, y : x + y中,x和y是函式的引數,x+y是表示式,它被執行並返回結果。
lambda x, y : x + y

返回的是一個函式物件,它可以被賦值給任何變數。在本例中函式物件被賦值給了add變數。如果我們檢視add的type,可以看到它是一個function

type(add)  # Output: function

 

絕大多數lambda函式作為一個引數傳給一個需要函式物件為引數的函式,比如map,reduce,filter等函式。