目录

228python中__del__使用方法

目录

[228]python中__del__使用方法

创建对象后,python解释器默认调用 __init__() 方法。当删除一个对象时,python解释器也会默认调用一个方法,这个方法为 __del__() 方法。在python中,对于开发者来说很少会直接销毁对象(如果需要,应该使用del关键字销毁)。Python的内存管理机制能够很好的胜任这份工作。也就是说,不管是手动调用del还是由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)