我一直在尋找方法來清理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