_del_()方法

Posted flameluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了_del_()方法相关的知识,希望对你有一定的参考价值。

  创建对象后,python解释器默认调用_init_()方法;

  当删除一个对象后,python解释器也会默认调用一个方法,这个方法为 _del_()方法

  

import time
class Animal(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)

总结:

  *当有一个班里保存了对象的引用时,此对象的引用计数就会增加1

  *当使用del删除变量指向的对象时,如果对象的引用计数不会1,比如3,那么此时只会让这个用户引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象删除。

以上是关于_del_()方法的主要内容,如果未能解决你的问题,请参考以下文章

python中__init__ ,__del__ &__new__

2.27python__del__()方法

_del_()方法

类的内置方法:__del__

83.魔法方法__del__()

83.魔法方法__del__()