函数式编程
2026/1/31小于 1 分钟
函数式编程
学习 Python 函数编程,包括函数定义、Lambda、装饰器、生成器等高级特性。
学习内容
函数
函数定义、参数、作用域、闭包
Lambda 表达式
匿名函数、高阶函数
装饰器
函数装饰器、类装饰器、装饰器链
生成器与迭代器
迭代器协议、生成器函数、yield 表达式
函数式编程特性
高阶函数
# map: 对每个元素应用函数
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
# [1, 4, 9, 16, 25]
# filter: 过滤元素
evens = list(filter(lambda x: x % 2 == 0, numbers))
# [2, 4]
# reduce: 归约
from functools import reduce
sum_all = reduce(lambda x, y: x + y, numbers)
# 15装饰器威力
@timer
@cache
def expensive_function(n):
# 计量耗时 + 缓存结果
...生成器优势
# 惰性计算,节省内存
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
# 生成无限序列
fib = fibonacci()
next(fib) # 0
next(fib) # 1
next(fib) # 1