python中__del__使用方法
阿新 • • 發佈:2019-01-10
建立物件後,python直譯器預設呼叫__init__()方法。當刪除一個物件時,python直譯器也會預設呼叫一個方法,這個方法為__del__()方法。在python中,對於開發者來說很少會直接銷燬物件(如果需要,應該使用del關鍵字銷燬)。Python的記憶體管理機制能夠很好的勝任這份工作。也就是說,不管是手動呼叫del還是由python自動回收都會觸發__del__方法執行:
import time classAnimal(object): # 初始化方法 # 建立完物件後會自動被呼叫 def __init__(self, name): print('__init__方法被呼叫 self.__name = name # 析構方法 # 當物件被刪除時,會自動被呼叫 def __del__(self): print("__del__方法被呼叫") print("%s物件馬上被幹掉了..."%self.__name) # 建立物件 dog = Animal("哈皮狗") # 刪除物件 del dog cat = Animal("波斯貓") cat2 = cat cat3 = cat print("---馬上刪除cat物件") del cat print("---馬上刪除cat2物件") del cat2 print("---馬上刪除cat3 del cat3 print("程式2秒鐘後結束") time.sleep(2) |