最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中l(wèi)ambda匿名函數(shù)詳解

 更新時(shí)間:2022年02月11日 10:20:45   作者:_謙信_(tái)  
大家好,本篇文章主要講的是python中l(wèi)ambda匿名函數(shù)詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下

在Python中,不通過(guò)def來(lái)聲明函數(shù)名字,而是通過(guò)lambda關(guān)鍵字來(lái)定義的函數(shù)稱為匿名函數(shù)

關(guān)鍵字lambda表示匿名函數(shù)

語(yǔ)法

lambda 參數(shù):表達(dá)式

先寫(xiě)lambda關(guān)鍵字,然后依次寫(xiě)匿名函數(shù)的參數(shù),多個(gè)參數(shù)中間用逗號(hào)連接,然后是一個(gè)冒號(hào),冒號(hào)后面寫(xiě)返回的表達(dá)式

lambda函數(shù)比普通函數(shù)更簡(jiǎn)潔

匿名函數(shù)有個(gè)好處:函數(shù)沒(méi)有名字,不必?fù)?dān)心函數(shù)名沖突

匿名函數(shù)與普通函數(shù)的對(duì)比 :

def sum_func(a, b, c): 
    return a + b + c 
 
sum_lambda = lambda a, b, c: a + b + c 
print(sum_func(1, 10, 100)) # 111 
print(sum_lambda(1, 10, 100)) # 111

可以看到,lambda適用于多個(gè)參數(shù)、一個(gè)返回值的情況(匿名函數(shù)有個(gè)限制,就是只能有一個(gè)表達(dá)式,不用寫(xiě)return,返回值就是該表達(dá)式的結(jié)果),可以用一個(gè)變量來(lái)接收,變量是一個(gè)函數(shù)對(duì)象,執(zhí)行這個(gè)函數(shù)對(duì)象的結(jié)果與執(zhí)行一個(gè)普通函數(shù)的結(jié)果是一樣的

匿名函數(shù)的多種形式:

#無(wú)參數(shù) 
lambda_a = lambda: 100 
print(lambda_a()) # 100
 
#一個(gè)參數(shù) 
lambda_b = lambda num: num * 10 
print(lambda_b(5)) # 50
 
#多個(gè)參數(shù) 
lambda_c = lambda a, b, c, d : a + b + c + d 
print(lambda_c(1,2,3,4)) # 10
 
#表達(dá)式分支 
lambda_d = lambda x: x if x % 2 == 0 else x + 1 
print(lambda_d(6)) # 6 
print(lambda_d(7)) # 8 

可以看到,lambda的參數(shù)可以0個(gè)到多個(gè),并且返回的表達(dá)式可以是一個(gè)復(fù)雜的表達(dá)式,只要最后的值是一個(gè)值就行了

此外,匿名函數(shù)也是一個(gè)函數(shù)對(duì)象,也可以把匿名函數(shù)賦值給一個(gè)變量,再利用變量來(lái)調(diào)用該函數(shù):

f = lambda x: x * x 
print(f) # <function <lambda> at 0x00000253B601B598> 
print(f(5)) # 25

lambda作為一個(gè)參數(shù)傳遞

def sub_func(a, b, func): 
    print('a =', a) 
    print('b =', b) 
    print('a - b =',func(a, b))
 
sub_func(100, 1, lambda a, b: a - b)
#a = 100 
#b = 1 
#a - b = 99

lambda作為函數(shù)的返回值

def func(a, b): 
    return lambda c: a + b + c
return_func = func(1, 10) 
print(return_func) # <function func.<locals>.<lambda> at 0x00000253B6472D90> 
print(return_func(100)) # 111

匿名函數(shù)可以作為一個(gè)函數(shù)的返回值

在上面的代碼中,func返回的是一個(gè)匿名函數(shù),返回的是一個(gè)函數(shù)對(duì)象,當(dāng)我們執(zhí)行這個(gè)函數(shù)時(shí),可以得到lambda函數(shù)的結(jié)果

注意:其中的a,b兩個(gè)參數(shù)是func中的參數(shù),但我們執(zhí)行返回的函數(shù)return_func時(shí),已經(jīng)不在func的作用域內(nèi)了,而lambda函數(shù)仍然能使用a,b參數(shù),說(shuō)明lambda函數(shù)會(huì)將它的運(yùn)行環(huán)境保存一份,一直保留到它自己執(zhí)行的時(shí)候使用

到此這篇關(guān)于python中l(wèi)ambda匿名函數(shù)詳解的文章就介紹到這了,更多相關(guān)python lambda匿名函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python如何實(shí)現(xiàn)文本轉(zhuǎn)語(yǔ)音

    Python如何實(shí)現(xiàn)文本轉(zhuǎn)語(yǔ)音

    文本轉(zhuǎn)語(yǔ)音,一般會(huì)用在無(wú)障礙開(kāi)發(fā)。下面介紹如何使用Python實(shí)現(xiàn)將文本文件轉(zhuǎn)換成語(yǔ)音輸出。跟著小編一起來(lái)看看吧。
    2016-08-08
  • python雙向鏈表原理與實(shí)現(xiàn)方法詳解

    python雙向鏈表原理與實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了python雙向鏈表原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python雙向鏈表的定義、以及節(jié)點(diǎn)的判斷、遍歷、添加、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • python 定時(shí)修改數(shù)據(jù)庫(kù)的示例代碼

    python 定時(shí)修改數(shù)據(jù)庫(kù)的示例代碼

    這篇文章主要介紹了python 定時(shí)修改數(shù)據(jù)庫(kù)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • pytorch中with?torch.no_grad():的用法實(shí)例

    pytorch中with?torch.no_grad():的用法實(shí)例

    最近在看別人寫(xiě)的代碼,遇到經(jīng)常使用with torch.no_grad(),所以下面這篇文章主要給大家介紹了關(guān)于pytorch中with?torch.no_grad():用法的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python列表list內(nèi)建函數(shù)用法實(shí)例分析【insert、remove、index、pop等】

    Python列表list內(nèi)建函數(shù)用法實(shí)例分析【insert、remove、index、pop等】

    這篇文章主要介紹了Python列表list內(nèi)建函數(shù)用法,結(jié)合具體實(shí)例形式分析了list中insert、remove、index、pop等函數(shù)的功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-07-07
  • python批量解壓zip文件的方法

    python批量解壓zip文件的方法

    這篇文章主要介紹了python批量解壓zip文件的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python實(shí)現(xiàn)灰度圖

    python實(shí)現(xiàn)灰度圖

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)灰度圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • pandas解決空列表問(wèn)題

    pandas解決空列表問(wèn)題

    本文主要介紹了Python的pandas庫(kù)中高效處理空列表的問(wèn)題,包括識(shí)別、過(guò)濾、替換和聚合操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • OpenCV-Python給圖像去除水印多種方法

    OpenCV-Python給圖像去除水印多種方法

    這篇文章主要給大家介紹了關(guān)于OpenCV-Python給圖像去除水印的多種方法,文中介紹的每種方法都有其適用場(chǎng)景和實(shí)現(xiàn)步驟,具體實(shí)現(xiàn)需要根據(jù)實(shí)際情況選擇和調(diào)整,需要的朋友可以參考下
    2024-12-12
  • Python3.6.2調(diào)用ffmpeg的方法

    Python3.6.2調(diào)用ffmpeg的方法

    今天小編就為大家分享一篇Python3.6.2調(diào)用ffmpeg的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01

最新評(píng)論

太仆寺旗| 泰安市| 富顺县| 竹山县| 琼中| 桂林市| 鄂州市| 申扎县| 个旧市| 巫山县| 东光县| 沭阳县| 临海市| 陇南市| 丹凤县| 都兰县| 公主岭市| 德格县| 浦城县| 循化| 黔西县| 于都县| 襄垣县| 资中县| 杨浦区| 金川县| 栖霞市| 利辛县| 卢龙县| 璧山县| 永丰县| 绥德县| 缙云县| 凤凰县| 富裕县| 固镇县| 五家渠市| 木兰县| 泗阳县| 武夷山市| 新源县|