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

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

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

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

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

語法

lambda 參數(shù):表達式

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

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

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

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

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適用于多個參數(shù)、一個返回值的情況(匿名函數(shù)有個限制,就是只能有一個表達式,不用寫return,返回值就是該表達式的結(jié)果),可以用一個變量來接收,變量是一個函數(shù)對象,執(zhí)行這個函數(shù)對象的結(jié)果與執(zhí)行一個普通函數(shù)的結(jié)果是一樣的

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

#無參數(shù) 
lambda_a = lambda: 100 
print(lambda_a()) # 100
 
#一個參數(shù) 
lambda_b = lambda num: num * 10 
print(lambda_b(5)) # 50
 
#多個參數(shù) 
lambda_c = lambda a, b, c, d : a + b + c + d 
print(lambda_c(1,2,3,4)) # 10
 
#表達式分支 
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個到多個,并且返回的表達式可以是一個復(fù)雜的表達式,只要最后的值是一個值就行了

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

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

lambda作為一個參數(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ù)可以作為一個函數(shù)的返回值

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

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

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

相關(guān)文章

  • Pytorch 的損失函數(shù)Loss function使用詳解

    Pytorch 的損失函數(shù)Loss function使用詳解

    今天小編就為大家分享一篇Pytorch 的損失函數(shù)Loss function使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python 讀寫excel文件操作示例【附源碼下載】

    python 讀寫excel文件操作示例【附源碼下載】

    這篇文章主要介紹了python 讀寫excel文件操作,結(jié)合實例形式分析了Python基于xlutils導(dǎo)入xlrd,xlwt庫操作Excel相關(guān)實現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2019-06-06
  • 20招讓你的Python飛起來!

    20招讓你的Python飛起來!

    20招讓你的 Python飛起來!這篇文章主要為大家詳細(xì)介紹了Python性能優(yōu)化的20條建議,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Matplotlib自定義坐標(biāo)刻度的使用示例

    Matplotlib自定義坐標(biāo)刻度的使用示例

    雖然matplotlib默認(rèn)的坐標(biāo)軸定位器與格式生成器可以滿足大部分需求,但是并非對每一幅圖都合適,本文主要介紹了Matplotlib自定義坐標(biāo)刻度的使用示例,感興趣的可以了解一下
    2023-11-11
  • Python面向?qū)ο箢惱^承和組合實例分析

    Python面向?qū)ο箢惱^承和組合實例分析

    這篇文章主要介紹了Python面向?qū)ο箢惱^承和組合,結(jié)合實例形式分析了Python3面向?qū)ο罄^承的原理、用法以及繼承與組合相關(guān)使用技巧,需要的朋友可以參考下
    2018-05-05
  • tensorflow獲取變量維度信息

    tensorflow獲取變量維度信息

    這篇文章主要為大家詳細(xì)介紹了tensorflow獲取變量維度信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Django多app路由分發(fā)(純后端)

    Django多app路由分發(fā)(純后端)

    本文主要介紹了Django多app路由分發(fā),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • python使用正則表達式匹配字符串開頭并打印示例

    python使用正則表達式匹配字符串開頭并打印示例

    這篇文章主要介紹了python使用正則表達式匹配字符串開頭并打印的方法,結(jié)合實例形式分析了Python基于正則表達式操作字符串的相關(guān)技巧,需要的朋友可以參考下
    2017-01-01
  • Python中實現(xiàn)定時任務(wù)詳解

    Python中實現(xiàn)定時任務(wù)詳解

    這篇文章主要介紹了Python中實現(xiàn)定時任務(wù)詳解的相關(guān)資料,需要的朋友可以參考下
    2023-07-07
  • Python的標(biāo)準(zhǔn)模塊包json詳解

    Python的標(biāo)準(zhǔn)模塊包json詳解

    這篇文章主要介紹了Python的標(biāo)準(zhǔn)模塊包json詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03

最新評論