Lambda 匿名函数
Lambda 匿名函数
一个需求:需要将函数作为参数进行传递,但是这个函数只使用一次,这时,我们可以考虑使用 lambda 匿名函数
1. 函数的定义
- def 关键字,可以定义带 有名称 的函数,可以重复使用
- lambda 关键字,可以定义 匿名函数(无名称),匿名函数只能使用一次
- 匿名函数用于临时创建一个函数,只使用一次 的场景
2. 匿名函数基本语法
- lambda 形参列表:函数体(一行代码)
- lambda 关键字,表示定义匿名函数
- 形参列表:比如 num1,num2 表示接收 2个参数
- 函数体:完成的功能,只能写一行,不能写多行代码
3. Demo
编写一个函数,可以接收一个匿名函数和 2个数,通过匿名函数计算,返回2个数的最大值【anon_function.py】
def f1(fun, num1, num2):
"""
功能:调用 fun 返回 num1 和 num2 的最大值
:param fun:
:param num1:
:param num2:
:return:
"""
return fun(num1, num2)
if __name__ == '__main__':
# 关键是看如何传入匿名函数调用
# 1. lambda a, b: a if a > b else b 就是匿名函数
# 2. 不需要 return,运算结果就是返回值
max_val = f1(lambda a, b: a if a > b else b, 12, 10)
print(max_val)