跳到主要内容

高阶函数

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

在 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 的部分吗?