Python 中匿名函数 lambda 表达式
lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。
- lambda 表达式的语法格式如下:
name = lambda [list] : 表达式
- 其中,定义 lambda 表达式,必须使用 lambda 关键字;[list] 作为可选参数,等同于定义函数是指定的参数列表,多个参数情况可以用“,”逗号分隔;name 为该表达式的名称。
- 表达式:不能包含循环,return,elif ,可以包含 if
- 该语法格式转换成普通函数的形式,如下所示:
L = lambda x : 'x>10' if x >10 else 'x<10' print(L(5)) # 表达式中的 'x>10' 是后面 if 判断语句为 True 时返回的结果 # 表达式中的 'x<10' 是后面 if 判断语句为 False 时返回的结果
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
s = lambda : 2 + 3 print(s()) # 程序输出结果为:5
作者:一个老宅男
微信:ZhengYing8887
出处:https://www.cnblogs.com/ZhengYing0813/
备注:本文版权归作者所有,欢迎转载和添加作者微信探讨技术,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)