python如何清理内存

引用计数,这是 Python 的垃圾回收策略。补充一下。

解释器(也就是你说的 Shell)负责跟踪对象的引用计数,垃圾收集器负责释放内存。

如何释放?可以通过销毁对象的引用,使引用计数减少至 0。假设 x = 3,以下情况会使 3 这个整型对象的引用计数减少;

函数运行结束,所有局部变量都被销毁,对象的引用计数也就随之减少。例如 foo(x) 运行结束,x 被销毁;当变量被赋值给另一个对象

时,原对象的引用计数也会减少。例如 x = 4,这时候 3 这个对象的引用计数就减 1 了;

使用 del 删除一个变量也会导致对象引用减少。例如 del x;

对象从集合对象中移除。例如 lst.remove(x);

包含对象的集合对象被销毁。例如 del lst;

这些操作都可能使对象变成垃圾回收对象,由垃圾收集器负责收集,当然垃圾收集器也负责处理循环引用对象。

推荐学习《python教程》。

来源:PY学习网:原文地址:https://www.py.cn/article.html