1. 程式人生 > >3.1.13 內置方法--__del__(self)

3.1.13 內置方法--__del__(self)

brush ini 自動釋放 刪除 對象 self. 結束 ngs lose

在對象刪除時觸發__del__(self),然後再刪除對象自己。

如果對象沒有刪除,程序結束時,會自動刪除對象。

class Open:
    def __init__(self,filename):
        print(‘open file.......‘)
        self.filename=filename

    def __del__(self):
        print(‘回收操作系統資源:self.close()‘)

f=Open(‘settings.py‘)
del f #f.__del__()
print(‘----main------‘) #del f #f.__del__()

結果:
open file.......
回收操作系統資源:self.close()
----main------

  

class Open:
    def __init__(self,filename):
        print(‘open file.......‘)
        self.filename=filename

    def __del__(self):
        print(‘回收操作系統資源:self.close()‘)

f=Open(‘settings.py‘)
#del f #f.__del__()
print(‘----main------‘) #del f #f.__del__()

結果:
open file.......
----main------
回收操作系統資源:self.close()
執行print(‘----main------‘) 後程序結束,自動釋放對象f

  

3.1.13 內置方法--__del__(self)