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

python基礎(chǔ)之匿名函數(shù)詳解

 更新時(shí)間:2021年04月20日 14:05:09   作者:思想流浪者  
這篇文章主要介紹了python基礎(chǔ)之匿名函數(shù)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下

1.匿名函數(shù)介紹

匿名函數(shù)指一類無須定義標(biāo)識(shí)符的函數(shù)或子程序。Python用lambda語法定義匿名函數(shù),只需用表達(dá)式而無需申明。

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

lambda函數(shù)能接收任何數(shù)量(可以是0個(gè))的參數(shù),但只能返回一個(gè)表達(dá)式的值,lambda函數(shù)是一個(gè)函數(shù)對(duì)象,直接賦值給一個(gè)變量,這個(gè)變量就成了一個(gè)函數(shù)對(duì)象。

2.語法

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

3.使用場(chǎng)景

(1)需要將一個(gè)函數(shù)對(duì)象作為參數(shù)來傳遞時(shí),可以直接定義一個(gè)lambda函數(shù)(作為函數(shù)的參數(shù)或是返回值)

(2)要處理的業(yè)務(wù)符合 lambda 函數(shù)的情況(任意多個(gè)參數(shù)和一個(gè)返回值),并且只有一個(gè)地方會(huì)使用這個(gè)函數(shù),不會(huì)在其他地方重用,可以使用lambda函數(shù)

4.匿名函數(shù)和普通函數(shù)的對(duì)比

def sum_func(a, b, c):
    return a + b + c
# 將匿名函數(shù)對(duì)象賦值給 sum_lambda
sum_lambda = lambda a, b, c: a + b + c
print(sum_func(1, 2, 3))  # 6
print(sum_lambda(1, 2, 3))  # 6

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

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

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

def sub_func(a, b, func):
    print("a = ", a)
    print("b = ", b)
    print("a - b = ", func(a, b))
sub_func(3, 2, lambda a, b: a - b)
# 結(jié)果:
#     a =  3
#     b =  2
#     a - b =  1

7. lambda函數(shù)與python內(nèi)置函數(shù)配合使用

sorted是Python中對(duì)列表排序的內(nèi)置函數(shù),我們使用lambda來獲取排序的key

member_list = [
    {"price": 9},
    {"price": 999},
    {"price": 99}
]
new_list = sorted(member_list, key=lambda dict_: dict_["price"])
print(new_list)  #  [{'price': 9}, {'price': 99}, {'price': 999}]
number_list = [100, 77, 69, 31, 44, 56]
num_sum = list(map(lambda x: {str(x): x}, number_list))
print(num_sum)  # [{'100': 100}, {'77': 77}, {'69': 69}, {'31': 31}, {'44': 44}, {'56': 56}]

map是Python中用來做映射的一個(gè)內(nèi)置函數(shù),接收兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)函數(shù),第二個(gè)參數(shù)是一個(gè)可迭代對(duì)象,map會(huì)遍歷可迭代對(duì)象的值,然后將值依次傳遞給函數(shù)執(zhí)行。我們使用lambda來實(shí)現(xiàn)map中的函數(shù)參數(shù)。

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

def discount_func(discount):
    return lambda price: discount * price
 
p = discount_func(0.8)
print(p)  # <function discount_func.<locals>.<lambda> at 0x00000241352BAC10>
print(p(100))  # 80.0

 匿名函數(shù)可以作為一個(gè)函數(shù)的返回值,上面函數(shù)discount_func返回一個(gè)設(shè)定了折扣的匿名函數(shù)對(duì)象,調(diào)用這個(gè)對(duì)象,傳入價(jià)格,就可以得到折扣后的價(jià)格

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

相關(guān)文章

  • python pandas模塊基礎(chǔ)學(xué)習(xí)詳解

    python pandas模塊基礎(chǔ)學(xué)習(xí)詳解

    這篇文章主要介紹了python pandas模塊基礎(chǔ)學(xué)習(xí)詳解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 淺談Python的垃圾回收機(jī)制

    淺談Python的垃圾回收機(jī)制

    本文雖然是轉(zhuǎn)載的,但是是真的好的一篇非常透徹的對(duì)Python垃圾回收機(jī)制的講解!!!這里推薦給大家
    2016-12-12
  • Python圖像處理之顏色的定義與使用分析

    Python圖像處理之顏色的定義與使用分析

    這篇文章主要介紹了Python圖像處理之顏色的定義與使用,結(jié)合實(shí)例形式分析了matplotlib模塊中顏色值的相關(guān)使用操作技巧,需要的朋友可以參考下
    2019-01-01
  • Django動(dòng)態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法

    Django動(dòng)態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法

    本文主要介紹了Django動(dòng)態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • python 爬蟲百度地圖的信息界面的實(shí)現(xiàn)方法

    python 爬蟲百度地圖的信息界面的實(shí)現(xiàn)方法

    這篇文章主要介紹了python 爬蟲百度地圖的界面的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python數(shù)據(jù)處理篇之Sympy系列(五)---解方程

    Python數(shù)據(jù)處理篇之Sympy系列(五)---解方程

    這篇文章主要介紹了Python數(shù)據(jù)處理篇之Sympy系列(五)---解方程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 詳解如何使用pip卸載所有已安裝的Python包

    詳解如何使用pip卸載所有已安裝的Python包

    在開發(fā)過程中,我們可能會(huì)安裝許多 Python 包,有時(shí)需要徹底清理環(huán)境,以便從頭開始或者解決沖突問題,下面將介紹如何使用 pip 命令卸載所有已安裝的 Python 包,需要的朋友可以參考下
    2024-06-06
  • 詳解python實(shí)現(xiàn)可視化的MD5、sha256哈希加密小工具

    詳解python實(shí)現(xiàn)可視化的MD5、sha256哈希加密小工具

    這篇文章主要介紹了詳解python實(shí)現(xiàn)可視化的MD5、sha256哈希加密小工具,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python?numpy之線性代數(shù)與隨機(jī)漫步

    Python?numpy之線性代數(shù)與隨機(jī)漫步

    這篇文章主要介紹了Python?numpy之線性代數(shù)與隨機(jī)漫步,線性代數(shù),矩陣計(jì)算,優(yōu)化與內(nèi)存;比如矩陣乘法,分解,行列式等數(shù)學(xué)知識(shí),是所有數(shù)組類庫的重要組成部分
    2022-07-07
  • 一小時(shí)學(xué)會(huì)TensorFlow2之基本操作1實(shí)例代碼

    一小時(shí)學(xué)會(huì)TensorFlow2之基本操作1實(shí)例代碼

    這篇文章主要介紹了TensorFlow2的基本操作第一節(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09

最新評(píng)論