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)

posted @ 2024-06-16 00:37  爱新觉罗LQ  阅读(18)  评论(0编辑  收藏  举报