您的位置 首页 编程资料

Python 中__del__魔法方法使用

_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
图片描述

 您阅读这篇文章共花了:

关于作者: YJ大表哥

热门文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注