1. 装饰器(Decorators)
- 用途:动态修改函数/类的行为,常用于日志、权限、缓存等场景。
- 示例:
python">def timer(func):def wrapper(*args, **kwargs):start = time.time()result = func(*args, **kwargs)end = time.time()print(f"{func.__name__} executed in {end - start:.2f}s")return resultreturn wrapper@timer def heavy_computation():time.sleep(1)
- 进阶:类装饰器、带参数的装饰器、
functools.wraps
保留元信息。
2. 生成器与迭代器(Generators & Iterators)
- 生成器:通过
yield
实现惰性计算,节省内存。python">def fibonacci():a, b = 0, 1while True:yield aa