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 當然,你也可以這樣使用...