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学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
收藏 | 0点赞 | 0打赏