欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中的lambda函數(shù)用法指南

 更新時(shí)間:2023年01月06日 11:53:32   作者:柳小蔥  
Lambda函數(shù)是Python中的匿名函數(shù),下面這篇文章主要給大家介紹了關(guān)于python中l(wèi)ambda函數(shù)用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

最近碰見(jiàn)太多次lambda函數(shù)了,那就來(lái)詳細(xì)解釋一下該函數(shù)。

lambda函數(shù)

我們先對(duì)lambda函數(shù)進(jìn)行一個(gè)簡(jiǎn)單的介紹

  • lambda函數(shù)是一種匿名函數(shù),即沒(méi)有名字的函數(shù)
  • 使用lambda保留字定義,函數(shù)名是返回結(jié)果
  • lambda函數(shù)的函數(shù)體只是一個(gè)表達(dá)式
  • lambda函數(shù)用于定義簡(jiǎn)單的、能夠在一行內(nèi)表示的函數(shù)
  • lambda表達(dá)式” : “后面,只能有一個(gè)表達(dá)式,def則可以有多個(gè)。
  • lambda一般用來(lái)定義簡(jiǎn)單的函數(shù),而def可以定義復(fù)雜的函數(shù)

先來(lái)看一個(gè)例子:

g=lambda x:x+1
print(g(1))
#結(jié)果為2

可以這樣認(rèn)為,lambda作為一個(gè)表達(dá)式,定義了一個(gè)匿名函數(shù)。等價(jià)于:

def g(x):
    return x+1

非常容易理解,在這里lambda簡(jiǎn)化了函數(shù)定義的書(shū)寫(xiě)形式。是代碼更為簡(jiǎn)潔,但是使用函數(shù)的定義方式更為直觀,易理解。

可傳入多個(gè)參數(shù)

g=lambda x,y,z:x+y+z*2
print(g(1,2,3))
#結(jié)果為9

#也可直接傳遞參數(shù)
(lambda x:x**2)(3)
#結(jié)果為9

lambda表達(dá)式會(huì)返回一個(gè)函數(shù)對(duì)象,如果沒(méi)有變量接受這個(gè)返回值的話(huà),它很快就會(huì)被丟棄。也正是由于lambda只是一個(gè)表達(dá)式,所以它可以直接作為list和dict的成員

list_a = [lambda a: a**3, lambda b: b**3]
print(type(list_a[0]))

結(jié)果為:

與map函數(shù)進(jìn)行使用

a = map(lambda x:x**2,range(5))
print(list(a))

結(jié)果為:

補(bǔ)充:一個(gè)爭(zhēng)議

事實(shí)上,關(guān)于lambda在Python社區(qū)是存在爭(zhēng)議的。Python程序員對(duì)于到底要不要使用lambda意見(jiàn)不一致。

  • 支持方認(rèn)為使用lambda編寫(xiě)的代碼更緊湊,更“pythonic”。
  • 反對(duì)方認(rèn)為,lambda函數(shù)能夠支持的功能十分有限,其不支持多分支程序if...elif...else...和異常處理程序try ...except...。并且,lambda函數(shù)的功能被隱藏,對(duì)于編寫(xiě)代碼之外的人員來(lái)說(shuō),理解lambda代碼需要耗費(fèi)一定的理解成本。他們認(rèn)為,使用for循環(huán)等來(lái)替代lambda是一種更加直白的編碼風(fēng)格。

關(guān)于lambda的爭(zhēng)執(zhí)沒(méi)有定論。在實(shí)際中,是否使用lambda編程取決于程序員的個(gè)人喜好。

總結(jié)

lambda函數(shù)使代碼結(jié)構(gòu)更加緊湊,但卻使代碼看起來(lái)不是那么清晰。

參考資料

https://zhuanlan.zhihu.com/p/80960485

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

相關(guān)文章

  • python統(tǒng)計(jì)cpu利用率的方法

    python統(tǒng)計(jì)cpu利用率的方法

    這篇文章主要介紹了python統(tǒng)計(jì)cpu利用率的方法,涉及Python中win32pdh模塊的使用技巧,需要的朋友可以參考下
    2015-06-06
  • PyQt5每天必學(xué)之單行文本框

    PyQt5每天必學(xué)之單行文本框

    這篇文章主要為大家詳細(xì)介紹了PyQt5每天必學(xué)之單行文本框的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python遍歷文件目錄、批量處理同類(lèi)文件

    python遍歷文件目錄、批量處理同類(lèi)文件

    這篇文章主要為大家詳細(xì)介紹了python遍歷文件目錄、批量處理同類(lèi)文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python實(shí)現(xiàn)的搖骰子猜大小功能小游戲示例

    Python實(shí)現(xiàn)的搖骰子猜大小功能小游戲示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的搖骰子猜大小功能小游戲,涉及Python隨機(jī)數(shù)運(yùn)算與數(shù)值判斷相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • python多項(xiàng)式擬合之np.polyfit 和 np.polyld詳解

    python多項(xiàng)式擬合之np.polyfit 和 np.polyld詳解

    這篇文章主要介紹了python多項(xiàng)式擬合之np.polyfit 和 np.polyld的實(shí)例代碼,python數(shù)據(jù)擬合主要可采用numpy庫(kù),庫(kù)的安裝可直接用pip install numpy等,需要的朋友跟隨小編一起學(xué)習(xí)吧
    2020-02-02
  • 完美解決安裝完tensorflow后pip無(wú)法使用的問(wèn)題

    完美解決安裝完tensorflow后pip無(wú)法使用的問(wèn)題

    今天小編就為大家分享一篇完美解決安裝完tensorflow后pip無(wú)法使用的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 對(duì)python字典過(guò)濾條件的實(shí)例詳解

    對(duì)python字典過(guò)濾條件的實(shí)例詳解

    今天小編就為大家分享一篇對(duì)python字典過(guò)濾條件的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python容器的內(nèi)置通用函數(shù)操作

    python容器的內(nèi)置通用函數(shù)操作

    容器是一種把多個(gè)元素組織在一起的數(shù)據(jù)結(jié)構(gòu),容器中的元素可以逐個(gè)地迭代獲取,可以用in, not in關(guān)鍵字判斷元素是否包含在容器中。接下來(lái)通過(guò)本文給大家介紹python容器的內(nèi)置通用函數(shù)操作,感興趣的朋友一起看看吧
    2021-11-11
  • python代碼實(shí)現(xiàn)五子棋游戲

    python代碼實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了python代碼實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • PageFactory設(shè)計(jì)模式基于python實(shí)現(xiàn)

    PageFactory設(shè)計(jì)模式基于python實(shí)現(xiàn)

    這篇文章主要介紹了PageFactory設(shè)計(jì)模式基于python實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論