python中 __del__()的用法
阿新 • • 發佈:2018-12-14
如果__new__()和__init__()函式時類的建構函式(即在類例項化時自動執行函式中定義的內容),那麼__del__()是類的解構函式,是python垃圾回收機制的實際應用,當類的所有引用都被刪除後,該類就會被系統從記憶體中刪除,注意是所有的引用都被刪除哦,而不是每一次刪除
>>> class D(object):
def __init__(self):
print 'this is D.__init__()'
def __del__(self):
print 'this is D.__del__()'
>> >
>>> d = D()
this is D.__init__()
>>>
>>> d2 = d
>>> d3 = d
>>>
>>> del d
>>> del d2
>>> del d3
this is D.__del__()
>>>
將D()例項化物件賦值給d,後d2,d3都是指向D()的這次例項化物件,刪除d和d2的引用都不會觸發__del__()函式,最後一個d3的引用被刪除,就會觸發__del__(),此時D()的這一次例項化的物件就被清除