Python lambda函式的用法

2021-07-03 22:29:07 字數 1162 閱讀 7394

匿名函式lambda的用法

python中,lambda函式也叫匿名函式,及即沒有具體名稱的函式,它允許快速定義單行函式,類似於c語言的巨集,可以用在任何需要函式的地方。這區別於def定義的函式。

lambda與def的區別:

1)def建立的方法是有名稱的,而lambda沒有。

2)lambda會返回乙個函式物件,但這個物件不會賦給乙個識別符號,而def則會把函式物件賦值給乙個變數(函式名)。

3)lambda只是乙個表示式,而def則是乙個語句。

4)lambda表示式」 : 「後面,只能有乙個表示式,def則可以有多個。

5)像if或for或print等語句不能用於lambda中,def可以。

6)lambda一般用來定義簡單的函式,而def可以定義複雜的函式。

6)lambda函式不能共享給別的程式呼叫,def可以。

lambda語法格式:

lambda 變數 : 要執行的語句

lambda

[arg1 [, agr2,.....argn]] : expression

如:

1、單個引數的:

>>> g = lambda x : x ** 2

>>>

print g(3)

92、多個引數的:

>>> g = lambda x, y, z : (x + y) ** z

>>>

print g(1,2,2)

9

lambda表示式會返回乙個函式物件,如果沒有變數接受這個返回值的話,它很快就會被丟棄。也正是由於lambda只是乙個表示式,所以它可以直接作為list和dict的成員。如:

>>> list_a = [lambda a: a**3, lambda b: b**3]

>>> list_a[0]

lambda> at 0x0259b8b0>

>>> g = list_a[0]

>>> g(2)

8

這裡就沒法用def語句代替了,語句是不能巢狀在裡面的。lambda表示式中,冒號前面是引數,可以有多個,用逗號分隔,冒號右邊是返回值。

lambda具體用不用,視情況而定吧,有時候使用lambda可以簡化**。

Python lambda函式的學習

lambda函式在python 基礎中沒看過,查詢資料目前知道如下的用法 1.用於簡單表示式的計算 lambda 引數 表示式 如 result lambda x x 2 print result 3 引數也可以有多個 result lambda x,y x y print result 3,4 2...

python lambda函式基礎

本文,我們學習python lambda函式。首先,看一下python lambda函式的語法,如下 f lambda parameter1,parameter2,expression lambda語句中,冒號前是引數,可以有0個或多個,用逗號隔開,冒號右邊是返回值。lambda語句構建的其實是乙個...

python lambda匿名函式

lambda定義乙個匿名函式 lambda只是乙個表示式,函式體比def簡單很多,很多時候定義def,然後寫乙個函式太麻煩,這時候就可以用lambda定義乙個匿名函式。lambda的主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。參考鏈結 lambda的特性 乙個語...