跳到主要内容

高阶函数

🎯 函数是“第一等对象”:可以赋值、作为参数、返回函数

在 Python 中,函数本质上是一种对象,这意味着函数可以像变量一样使用。这是函数式编程的重要基础。

为什么重要?

这种机制让函数更加灵活、通用,可以:

  • 传递行为(将函数当作参数传递)
  • 延迟执行(返回一个函数)
  • 实现装饰器、回调、动态逻辑等高级用法

✅ 1. 变量可以指向函数

你可以将一个函数赋值给变量,然后通过变量调用该函数:

打招呼(名字):
打印("你好," + 名字)

问候 = 打招呼 # 函数赋值给变量
问候("小明") # 等价于:打招呼("小明")

✅ 2. 函数作为参数传递(高阶函数)

函数可以作为另一个函数的参数传入,使代码更加通用:

处理(x, 函数):
返回 函数(x)

加一(n):
返回 n + 1
平方(n):
返回 n * n

打印(处理(5, 加一)) # 输出 6
打印(处理(5, 平方)) # 输出 25

✅ 3. 函数作为返回值(返回函数)

函数不仅可以作为参数,还能作为另一个函数的返回值返回:

乘法器(n):
(x):
返回 x * n
返回

乘以3 = 乘法器(3)
打印(乘以3(10)) # 输出 30

这称为 闭包(Closure) —— 内层函数记住了外层函数的变量 n


🧠 函数可以存在容器中

你可以将多个函数放入列表或字典中,动态调用:

加一(x): 
返回 x + 1
乘二(x):
返回 x * 2
减三(x):
返回 x - 3

操作列表 = [加一, 乘二, 减三]

对于 操作操作列表 中:
打印(操作(10))

✅ 总结

特性举例说明
✔️ 函数可赋值f = 打招呼
✔️ 函数可传参处理(5, 平方)
✔️ 函数可返回返回 乘
✔️ 函数可存容器[加一, 平方]

这些特性构成了 Python 中高阶函数的基础,也是实现装饰器、回调、函数式编程的关键。

需要我接下来补充闭包(closure)或 lambda 的部分吗?