Python 内存管理与性能优化技巧
Python 自动内存管理,但不当使用可能导致性能问题。
1. 引用计数与垃圾回收
- 引用计数是主要回收机制。
- 循环引用由垃圾回收器(GC)处理(标记-清除)。
import gc
gc.get_threshold() # (700, 10, 10) 分代阈值2. 使用 slots 减少内存
class Point:
__slots__ = ('x', 'y')
def __init__(self, x, y):
self.x = x
self.y = y3. 生成器 vs 列表
- 大数据集优先用生成器,节省内存。
# 列表:一次性加载所有
data = [x**2 for x in range(1000000)]
# 生成器:惰性计算
data = (x**2 for x in range(1000000))
4. 使用内置函数和库
map、filter、sum等内置函数用 C 实现,快于 Python 循环。- 用
collections模块提高效率。
5. 性能分析工具
cProfile:python -m cProfile script.pymemory_profiler:逐行内存分析。
合理利用这些技巧可显著提升代码效率。
