国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:84日期:2022-06-21 18:35:36
1.匿名函數(shù)介紹

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

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

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

2.語法

lambda 參數(shù):表達式

3.使用場景

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

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

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

def sum_func(a, b, c): return a + b + c# 將匿名函數(shù)對象賦值給 sum_lambdasum_lambda = lambda a, b, c: a + b + cprint(sum_func(1, 2, 3)) # 6print(sum_lambda(1, 2, 3)) # 65.匿名函數(shù)的多種形式

# 無參數(shù)lambda_a = lambda :100print(lambda_a()) # 100 # 一個參數(shù)lambda_b = lambda num: num * 10print(lambda_b(1)) # 10 # 多個參數(shù)lambda_c = lambda a, b, c: a + b + cprint(lambda_c(1, 10, 100)) # 111 # 表達式分支lambda_d = lambda x: x if x > 5 else x + 1print(lambda_d(4)) # 5print(lambda_d(6)) # 66.lambda 作為一個參數(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 = 17. lambda函數(shù)與python內(nèi)置函數(shù)配合使用

sorted是Python中對列表排序的內(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中用來做映射的一個內(nèi)置函數(shù),接收兩個參數(shù),第一個參數(shù)是一個函數(shù),第二個參數(shù)是一個可迭代對象,map會遍歷可迭代對象的值,然后將值依次傳遞給函數(shù)執(zhí)行。我們使用lambda來實現(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ù)可以作為一個函數(shù)的返回值,上面函數(shù)discount_func返回一個設(shè)定了折扣的匿名函數(shù)對象,調(diào)用這個對象,傳入價格,就可以得到折扣后的價格

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 最近免费手机中文字幕3 | 国内一区 | 精品国产区一区二区三区在线观看 | 性做久久久久免费观看 | 亚洲综合射 | 久草在线中文视频 | 国产精品黑丝 | 日韩三级视频在线观看 | 国产成人精品久久二区二区 | 亚洲精品在线播放 | 深夜福利视频大全在线观看 | 欧美一级特黄aa大片视频 | 久久久国产一区二区三区 | 亚洲精品成人久久 | 免费观看久久 | 在线播放人成午夜免费视频 | 久久亚洲人成国产精品 | 欧美一区二区在线观看 | 一个人看的www日本高清视频 | 欧美一级日韩一级 | 亚洲精品色综合色在线观看 | 日韩中文字幕一在线 | 激情欧美日韩一区二区 | 成人国产视频在线观看 | 欧美另类色| 国语精品视频在线观看不卡 | 自拍视频在线观看视频精品 | 亚洲专区在线视频 | 国产91区| 欧美一级淫片a免费播放口aaa | 毛片免费看 | 经典香港a毛片免费观看 | 7799国产精品久久久久99 | 老司机免费福利午夜入口ae58 | 国产在线欧美日韩精品一区二区 | 精品厕拍 | 国产精品免费视频一区二区三区 | 国产高清精品一级毛片 | 国产欧美一区二区三区免费看 | 生活片一级播放免费 | 国产成人综合久久精品红 |