更新时间:2022-09-01 来源:黑马程序员 浏览量:
简单来说,Python中的匿名函数就是没有名称的函数,也就是不再使用def定义的函数。如果要声明匿名函数,则需要使用lambda关键字,匿名函数的声明格式如下:
lambda 参数列表:表达式
定义好的匿名函数不能直接使用,最好使用一个变量保存它,以便后期可以随时使用这个函数。下面是定义和调用匿名函数的示例代码,具体如下。
add = lambda a, b: a+b # 调用add函数 print("运行结果:", add(10, 20)) print("运行结果:", add(20, 20))
运行结果如图6-20所示。
图6-20 运行结果
需要注意的是,使用lambda声明的匿名函数能接收任何数量的参数,但只能返回一个表达式的值。此外,由于匿名函数的函数体只是一个表达式,它不能直接使用print()函数。
在某些场景下,匿名函数非常有用。假设之前我们要对两个数进行运算,如果希望声明的函数支持所有的运算,可以将匿名函数作为函数参数传递。接下来,通过一个案例来演示,如例6-11所示。
例6-11 匿名函数-1
def func(a, b, operation): print("a=%d"%a) print("b=%d"%b) print("result=", operation(a,b)) func(11, 22, lambda x, y:x +y) print("-------------------") func(11, 22, lambda x, y:x - y)
运行结果如图6-21所示。
图6-21 运行结果
注意:
与使用def定义的普通函数相比,使用lambda定义的匿名函数有很多不同的地方。
(1)普通函数在定义时是有名称的,而匿名函数没有函数名称,这是最明显的区别之一。
(2)普通函数的函数体中可以包含多条语句,而匿名函数的函数体中只有一个表达式,要简单很多。
(3)普通函数的函数体中可以使用if、for等语句,而匿名函数中不可以使用。
(4)普通函数一般用于实现复杂的功能,而匿名函数只能实现简单的功能。
(5)普通函数可以被其它程序调用,而匿名函数不能共享给其它程序使用。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19