Python lambda 匿名函式 詳解

2021-10-06 10:03:16 字數 829 閱讀 5649

python中用lambda關鍵字來表示匿名函式,冒號前的x

xx表示函式引數,具體例子如下所示:

list

(map

(lambda x : x * x,[1

,2,3

,4,5

,6,7

,8,9

]))[

1,4,

9,16,

25,36,

49,64,

81]

可以看出匿名函式lambda x:x

×x

x : x\times x

x:x×

x實際上就是下面的函式的匿名形式:

def

f(x)

:return x * x

只能有乙個表示式,不用寫return,返回值就是該表示式的結果。

因為匿名函式沒有名字,所以不用擔心函式名衝突。

匿名函式也是乙個函式物件,也可以把匿名函式賦值給乙個變數,再利用變數來呼叫該匿名函式。或者將匿名函式作為返回值返回。

匿名函式簡化了函式定義的書寫形式,使得**更為簡潔。

但是匿名函式可能在一定程度上降低可讀性。

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

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

lambda表示式中的:後面只能有乙個表示式,而def則可以有多個。

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

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

lambda函式不能被別的程式呼叫,def可以。

python lambda匿名函式

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

python lambda 匿名函式

語法 lambda 引數 表示式 接受引數,執行表示式,返回結果 示例 乙個lambda函式,把引數加10,然後返回結果 x lambda a a 10print x 5 lambda函式可以接受任意數量的引數 示例 乙個lambda函式,將引數a與引數b相乘,然後返回結果 x lambda a,b...

python lambda匿名函式

在學習python的過程中,lambda的語法時常會使人感到困惑,lambda是什麼,為什麼要使用lambda,是不是必須使用lambda?下面就上面的問題進行一下解答。1 lambda是什麼?看個例子 1 g lambda x x 1看一下執行的結果 g 1 2 g 2 3 當然,你也可以這樣使用...