python __del__的使用

yzf01發表於2021-09-09

_del_ 只有物件引用為0的時候才會被呼叫

del 刪除的是物件的引用,而不是物件
圖片描述

class Dog:
    def __del__(self):
        print("-----英雄over------")

dog1 = Dog()
dog2 = dog1

del dog1  # 不會呼叫 __del__方法,因為這個物件 還有其他的變數指向它,即 引用計算不是0
del dog2  # 此時會呼叫__del__方法,因為沒有變數指向它了
print("====================")

# 如果在程式結束時,有些物件還存在,那麼python直譯器會自動呼叫它們的__del__方法來完成清理工作
參看引用計數

引數也算是一次引用 ,所以 預設為2
圖片描述

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2334/viewspace-2799072/,如需轉載,請註明出處,否則將追究法律責任。

相關文章