天天看點

Python - 面向對象程式設計 - __del__() 析構方法

Python 提供了 del 語句用于删除不再使用的變量

變量已經被删除了,是以無法通路變量

Python 提供了一種機制使得對象被删除前能夠得到通知

對象被删除時,如果該對象擁有名為 __del__  的方法,該方法在删除前被調用,該方法又被稱為析構方法

析構方法是對象在被垃圾回收的時候起作用的一個方法

它的執行一般也就意味着對象不能夠繼續引用, 回收記憶體

Python 建議不要在對象銷毀時做任何事情,因為對象銷毀的時間難以确定

是以析構方法一般無須定義,日常使用時無需關心記憶體的配置設定和釋放,因為此工作都是交給 Python 解釋器來執行

一句話:析構方法的調用是由解釋器在進行垃圾回收時自動觸發執行的

當對象在某個作用域中調用完畢,在跳出其作用域的同時析構方法會自動被調用,這樣可以釋放記憶體空間

主動 del 對象

使用 del 語句,相當于主動調用對象的析構方法,會立即删除對象,并回收記憶體

通常是删除臨時的對象,對那些長期占用記憶體的臨時對象進行回收