1、主动删除对象调用del对象,程序运行结束后,python也会自动进行删除其他的对象。
class Animal: def __del__(self): print("销毁对象{0}".format(self)) cat = Animal() cat2 = Animal() del cat2 print("程序结束")
2、如果重写子类的del方法,则必须显式调用父类的del方法。
这样才能保证在回收子类对象时,其占用的资源(可能包含继承自父类的部分资源)能被彻底释放。
class Animal: def __del__(self): print("调用父类 __del__() 方法") class Bird(Animal): def __del__(self): # super(Bird,self).__del__() #方法1:显示调用父类的del方法 print("调用子类 __del__() 方法") cat = Bird() #del cat #只能调用子类里面的__del__ #super(Bird,cat).__del__() #方法2:显示调用父类的__del__
以上就是python析构函数的使用注意,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。