Python 的内存管理机制是一个非常高效且复杂的系统,简单来说,它采用了 “引用计数为主,标记-清除和分代回收为辅” 的策略,并结合了 特有的内存池机制 来优化小对象的分配。 下面我们将从三个核心维度深入剖析: --- 1. 核心机制:引用计数 (Reference Counting) 这是 Python 内存管理的基础。Python 中的每个对象都有一个 字段,用于记录有多少个变量引用了该对象。 工作原理: 增加引用 (+1): 对象被创建()、被赋值给其他变量()、作为参数传递给函数、或被放入容器(如列表、字典)中。 减少引用 (-1): 变量离开作用域、变量被赋值为其他对象、使用 显式删除、或从容器中移除。 回收: 当一个对象的引用计数变为 0 时,Python 会立即回收该对象的内存。 优点: 简单、实时性高(一旦不用立即回收)。 缺点: 1. 维护引用计数需要消耗资源。 2. 无法解决循环引用 (Cyclic Reference) 问题。 > 循环引用示例: > > 即使执行了 ,a 和 b 的引用计数仍然是 1(互相引用),导致内存无法通过引用计数机制释放。这就是为...