我一直在寻找方法来清理python中的对象。 我目前使用pypy。在pypy中清理
我找到了一个网页和一个例子。
首先一个基本的例子:
class FooType(object):
def __init__(self, id):
self.id = id
print self.id, 'born'
def __del__(self):
print self.id, 'died'
ft = FooType(1)
这应该打印:
1出生 死亡1例
,但它只是打印 1出生
所以我的问题是:如何我可以在PyPy中清理任何东西吗?
Python不会执行RAII; PyPy使用垃圾收集,并且绝不会保证运行。 – 2013-02-10 18:43:57
取决于垃圾回收......解释器可能不会释放对象,直到它需要更多内存为止。 CPython使用引用计数并在没有更多引用时立即发布 – JBernardo 2013-02-10 18:44:11
你甚至调用'del ft'吗? – Hidde 2013-02-10 18:45:57