假设脚本中没有任何特定的内存优化问题,所以我的问题是关于 Python 编码风格。这也意味着:尽可能快地取消对对象的引用是否是良好且常见的 Python 做法?场景如下。
Class A
将对象实例化为 self.foo
并要求第二个 class B
存储它并与其他对象共享。
在某个时刻,A
决定不再共享 self.foo
并将其从 B
中删除。
A 类
仍然有对 foo 的引用,但我们知道这个对象从现在开始就没有用了。
由于 foo 是一个相对较大的对象,您是否愿意从 A 中删除引用以及如何删除?(例如 del
与设置 self.foo = None
) 这个决定如何影响垃圾收集器?
最佳答案
如果在删除属性后,访问属性并查看它是否已设置的概念甚至没有意义,请使用 del
。如果在删除属性后,您的程序中的某些东西可能想要检查该空间并查看那里是否有任何东西,请使用 = None
。
垃圾收集器不会关心任何一种方式。
关于python - 完成后我应该删除大对象以在 python 中使用它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938729/