1
有史以來第一個問題,如果之前有人問過 - 我做了搜索,但找不到任何似乎回答它的東西。未分配的python對象上的__del__的行爲
我一直在試圖理解python的__del__
方法的行爲,因爲我需要它對包裝的C代碼執行一些清理。
我對__del__
的理解是,當對象的引用計數達到零時調用它,而不是在對象引用上調用del
時調用。這使我相信,實例化對象沒有分配會後立即撥打__init__
然後__del__
,但這似乎並沒有這樣的情況,如下面的代碼演示:
class Foo():
def __init__(self):
print "Hello"
def __del__(self):
print "Goodbye"
Foo()
Hello
<__main__.Foo instance at 0x7fb943075a28>
誰能解釋一下是怎麼回事?提前致謝。
'美孚()和None'也適用 – 2014-10-09 09:59:57
非常感謝!偷偷摸摸的翻譯,囤積參考文獻! – 2birds 2014-10-09 10:57:52
@MartijnPieters完成。我一直在這個網站上潛伏多年,直到今天都沒有必要提出一個問題。我現在需要學習如何使用它! – 2birds 2014-10-09 13:14:42