python高阶函数(三分钟读懂)
发布日期:2021-05-07 09:22:45 浏览次数:26 分类:精选文章

本文共 943 字,大约阅读时间需要 3 分钟。

Python 高阶函数(深入解析)

什么是高阶函数?

在 Python 中,函数是一等对象,这意味着函数具有以下特点:

  • 对象是在运行时创建的:函数不会在编译时就被生成,而是在程序运行时被解析。
  • 可以赋值给变量或作为数据结构中的元素:函数可以像其他对象一样被存储或迭代。
  • 可以作为参数传递:函数可以作为其他函数的参数。
  • 可以作为返回值返回:函数可以被其他函数调用并返回。
  • 高阶函数的定义

    高阶函数是指:

  • 接收一个或多个函数作为参数
  • 将函数作为返回值返回
  • 这意味着高阶函数可以灵活地处理函数行为,赋予代码更强的灵活性和扩展性。


    示例一:过滤列表中的偶数

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def fn2(i):    return i % 2 == 0def fn3(i):    return i % 3 == 0def fn(f, lst):    return [x for x in lst if f(x)]
    print(fn(fn2, a))  # 输出: [2, 4, 6, 8, 10]

    在这个示例中,fn 是一个高阶函数,它接收了一个函数 fn2 作为参数,并将 a 列表中的偶数值筛选出来返回。fn2 函数用于检查一个数是否能被 2 整除。


    示例二:使用 filter 函数

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def fn2(i):    return i % 2 == 0b = filter(fn2, a)print(list(b))  # 输出: [2, 4, 6, 8, 10]

    filter 函数本身也是一个高阶函数,它接收一个函数和一个可迭代的序列,根据函数返回值将序列中的元素筛选出来。返回的对象是一个 filter 对象,需要通过 list() 转换为列表才能看到具体结果。


    高阶函数的意义

    高阶函数的核心价值在于能够将函数作为参数传递和返回,从而实现代码的灵活复用。例如:

    • fn(f, lst) 函数中,f 可以是任意的判断函数,如 fn2fn3
    • filter 函数通过接收一个判断函数,实现了对序列的高效过滤。

    这种设计使得代码结构更加清晰,且具有良好的可扩展性。

    上一篇:高阶函数-语法糖-lambda(三分钟读懂)
    下一篇:python递归(一分钟读懂)

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年04月20日 15时13分33秒