Python 的内存管理机制主要由两部分组成:引用计数(Reference Counting)作为主要机制,标记-清除(Mark and Sweep)和分代回收(Generational Collection)作为辅助机制(用于解决循环引用问题)。 这里我们重点详细讲解 引用计数 机制。 --- 1. 什么是引用计数? 在 CPython(Python 的标准实现)中,每一个对象的核心结构体()内部都有一个名为 的字段。这个字段记录了当前有多少个变量名(引用)指向了这个对象。 当计数器变为 0 时,说明没有任何变量引用该对象,Python 就会立即回收该对象占用的内存。 2. 引用计数如何工作? 引用计数增加 (+1) 的情况: 当发生以下操作时,对象的引用计数会增加: 1. 对象被创建: 2. 对象被赋值给另一个变量(也就是创建别名): 3. 对象作为参数传递给函数: 4. 对象被放入容器(列表、元组、字典等)中: 引用计数减少 (-1) 的情况: 当发生以下操作时,对象的引用计数会减少: 1. 使用 显式销毁引用: 2. 引用被重新赋值: 3. 对象离开作用域: 比如函数执行...