Python lambda表达式(匿名函数)及用法
2年前 (2024-04-26)
对于定义一个简单的函数,Python 还提供了另外一种方法,即使用本节介绍的 lambda 表达式。
lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。
lambda 表达式的语法格式如下:
该语法格式转换成普通函数的形式,如下所示:
可以这样理解 lambda 表达式,其就是简单函数(函数体仅是单行的表达式)的简写版本。相比函数,lamba 表达式具有以下 2 个优势:
lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。
lambda 表达式的语法格式如下:
name = lambda [list] : 表达式
其中,定义 lambda 表达式,必须使用 lambda 关键字;[list] 作为可选参数,等同于定义函数是指定的参数列表;value 为该表达式的名称。该语法格式转换成普通函数的形式,如下所示:
def name(list):
return 表达式
name(list)
显然,使用普通方法定义此函数,需要 3 行代码,而使用 lambda 表达式仅需 1 行。
举个例子,如果设计一个求 2 个数之和的函数,使用普通函数的方式,定义如下:
def add(x, y):
return x+ y
print(add(3,4))
程序执行结果为:
7
由于上面程序中,add() 函数内部仅有 1 行表达式,因此该函数可以直接用 lambda 表达式表示:
add = lambda x,y:x+y
print(add(3,4))
程序输出结果为:
7
可以这样理解 lambda 表达式,其就是简单函数(函数体仅是单行的表达式)的简写版本。相比函数,lamba 表达式具有以下 2 个优势:
对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁;
对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能。
- 随机文章
- 马尔代夫的形容(马尔代夫 美丽的印度洋度假胜地)
- 国足 马尔代夫 回放(国足客场大胜马尔代夫 赛后回放精彩重现)
- 海啸 李连杰 马尔代夫(李连杰关爱马尔代夫,为海啸灾区捐款)
- 公民近期马尔代夫(马尔代夫疫情缓和,再度向游客开放!)
- 唐山北方马尔代夫(唐山建设中国北方马尔代夫引游客热议)
- 城建集团马尔代夫(城建集团在马尔代夫的投资和建设计划)
- 孟津白鹤马尔代夫(白鹤马尔代夫:一个在孟津的海洋天堂)
- 曼谷 马尔代夫 亚航(曼谷至马尔代夫航线重启,亚洲低成本航空开辟新旅游蓝海)
- 坂南 马尔代夫(探索马尔代夫:坂南旅游指南)
- 李玟马尔代夫图片(李玟靓照:唯美马尔代夫私房照大放送)
- 环球之旅马尔代夫(全球环游之马尔代夫:海洋天堂的探索)
- 结婚马尔代夫价格(马尔代夫举办梦幻婚礼的费用是多少?)
- 美居 马尔代夫(美居入住马尔代夫:享受浪漫度假!)
- 衢州板桥马尔代夫(衢州板桥打造马尔代夫式度假新天地!)
- 瑰宝酒店马尔代夫(马尔代夫瑰宝酒店:诠释绝美海岛之旅)
- 绵阳马尔代夫仙海(绵阳游客驻足马尔代夫仙海享美丽沙滩)
- 深圳马尔代夫民俗(深圳民俗马尔代夫风情,探访异域风情)
- 哪里就有马尔代夫(探索马尔代夫:梦幻度假胜地在哪里?)
- 美丽多姿马尔代夫(探秘印度洋明珠:缤纷多彩的马尔代夫)
- 郑和路过马尔代夫(郑和驶向西方,穿越印度洋的珍珠之岛)
- 马尔代夫主题作文(美丽马尔代夫:我的热带海滩度假之旅)
- 饶平马尔代夫新闻(饶平医疗队成功完成马尔代夫义诊任务)
- 阿娇 马尔代夫(阿娇曝光马尔代夫度假照片,网友羡慕不已)
- 马尔代夫中国案件(马尔代夫警方:中国人涉嫌诈骗被拘留)
- 马尔代夫与北阿里(马尔代夫与北阿里岛达成重要合作协议)
- 马尔代夫位置定位(马尔代夫地图:定位、位置、景点介绍)
- 斯航 马尔代夫(新标题:斯堪航空公司恢复飞往马尔代夫航班)
- 中国 马尔代夫(中国与马尔代夫承诺共建海上丝绸之路的未来合作)
- 马尔代夫公园门票(马尔代夫公园门票价格及购买信息汇总)
- 衡阳也有马尔代夫(湖南衡阳现有类似马尔代夫的海岛风光)
