电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python基礎之匿名函數詳解

瀏覽:97日期:2022-06-21 18:35:36
1.匿名函數介紹

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

在python中,不通過def來聲明函數名字,而是通過 lambda 關鍵字來定義的函數稱為匿名函數。

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

2.語法

lambda 參數:表達式

3.使用場景

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

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

4.匿名函數和普通函數的對比

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

# 無參數lambda_a = lambda :100print(lambda_a()) # 100 # 一個參數lambda_b = lambda num: num * 10print(lambda_b(1)) # 10 # 多個參數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 作為一個參數傳遞

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)# 結果:# a = 3# b = 2# a - b = 17. lambda函數與python內置函數配合使用

sorted是Python中對列表排序的內置函數,我們使用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中用來做映射的一個內置函數,接收兩個參數,第一個參數是一個函數,第二個參數是一個可迭代對象,map會遍歷可迭代對象的值,然后將值依次傳遞給函數執行。我們使用lambda來實現map中的函數參數。

8.lambda 作為函數的返回值

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

匿名函數可以作為一個函數的返回值,上面函數discount_func返回一個設定了折扣的匿名函數對象,調用這個對象,傳入價格,就可以得到折扣后的價格

到此這篇關于python基礎之匿名函數詳解的文章就介紹到這了,更多相關python匿名函數內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 山东艾德实业有限公司 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 空压机商城|空气压缩机|空压机配件-压缩机网旗下商城 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 北京租车牌|京牌指标租赁|小客车指标出租| 玻璃钢板-玻璃钢防腐瓦-玻璃钢材料-广东壹诺 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 培训中心-海南香蕉蛋糕加盟店技术翰香原中心官网总部 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 北京燃气公司 用户服务中心 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 北京燃气公司 用户服务中心| 九爱图纸|机械CAD图纸下载交流中心 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | 上海三信|ph计|酸度计|电导率仪-艾科仪器 | 智能终端_RTU_dcm_北斗星空自动化科技 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | 考试试题_试卷及答案_诗词单词成语 - 优易学 | 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 代理记账_免费注册公司_营业执照代办_资质代办-【乐财汇】 | 家用净水器代理批发加盟_净水机招商代理_全屋净水器定制品牌_【劳伦斯官网】 |