python析构函数的使用注意

1、主动删除对象调用del对象,程序运行结束后,python也会自动进行删除其他的对象。

classAnimal:
def__del__(self):
print("销毁对象{0}".format(self))
cat=Animal()
cat2=Animal()
delcat2
print("程序结束")

2、如果重写子类的del方法,则必须显式调用父类的del方法

这样才能保证在回收子类对象时,其占用的资源(可能包含继承自父类的部分资源)能被彻底释放。

classAnimal:
def__del__(self):
print("调用父类__del__()方法")

classBird(Animal):
def__del__(self):
#super(Bird,self).__del__()#方法1:显示调用父类的del方法
print("调用子类__del__()方法")

cat=Bird()
#delcat#只能调用子类里面的__del__
#super(Bird,cat).__del__()#方法2:显示调用父类的__del__

以上就是python析构函数的使用注意,希望对大家有所帮助。更多Python学习指路:Python基础教程

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。