首頁(yè)技術(shù)文章正文

什么是匿名函數(shù)?它與普通函數(shù)有哪些不同?

更新時(shí)間:2021-07-14 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班
 匿名函數(shù)是無(wú)需函數(shù)名標(biāo)識(shí)的函數(shù),它的函數(shù)體只能是單個(gè)表達(dá)式。Python中使用關(guān)鍵字lambda定義匿名函數(shù),匿名函數(shù)的語(yǔ)法格式如下:

lambda [arg1 [,arg2,.....argn]]:expression
上述格式中,“[arg1 [,arg2,.....argn]]”表示匿名函數(shù)的參數(shù),“expression”是一個(gè)表達(dá)式。

匿名函數(shù)與普通函數(shù)主要有以下不同:

普通函數(shù)需要使用函數(shù)名進(jìn)行標(biāo)識(shí),匿名函數(shù)不需要使用函數(shù)名進(jìn)行標(biāo)識(shí);

普通函數(shù)的函數(shù)體中可以有多條語(yǔ)句,匿名函數(shù)只能是一個(gè)表達(dá)式;

普通函數(shù)可以實(shí)現(xiàn)比較復(fù)雜的功能,匿名函數(shù)只能實(shí)現(xiàn)比較單一的功能;

普通函數(shù)可以被其它程序使用,匿名函數(shù)不能被其它程序使用。

為了方便使用匿名函數(shù),應(yīng)使用變量記錄這個(gè)函數(shù),示例代碼如下:

area = lambda a, h: (a * h) * 0.5
print(area(3, 4))

以上代碼使用變量area記錄匿名函數(shù),并通過(guò)變量名area調(diào)用匿名函數(shù)。

運(yùn)行代碼,結(jié)果如下所示:

6.0







猜你喜歡:

函數(shù)返回值是什意思?具體怎樣使用?

setTimeout函數(shù)用法:setTimeout()方法用法介紹

如何定義和調(diào)用Python中的函數(shù)?

黑馬程序員python+大數(shù)據(jù)高手班培訓(xùn)

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!