1. 程式人生 > >python中 __del__()的用法

python中 __del__()的用法

       如果__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()的這一次例項化的物件就被清除