高阶函数
🎯 函数是“第一等对象”:可以赋值、作为参数、返回函数
在 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 的部分吗?