在對象刪除時觸發__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
