20201130_095.__del__()析构方法和垃圾回收机制

首页 » Python » 正文

__del__方法(析构函数)和垃圾回收机制

__del__方法称为“析构方法”,用于实现对象被销毁时所需的操作。比如:释放对象占用的资源,例如:打开的文件资源、网络连接等。
Python 实现自动的垃圾回收,当对象没有被引用时(引用计数为 0,下图示例子中的引用reference数为1),由垃圾回收器调用__del__方法。
20201130_095.__del__()析构方法和垃圾回收机制
我们也可以通过 del 语句删除对象,从而保证调用__del__方法。
系统会自动提供__del__方法,一般不需要自定义析构方法。
【案例】

# 析构函数使用举例
class Person:
    def __del__(self):
        print('销毁对象:{}'.format(self))


p1 = Person()
p2 = Person()
print(p2)
del p2
print('程序结束')

运行结果:
20201130_095.__del__()析构方法和垃圾回收机制
解释说明:一开始因为用del命令删除了p2,所以触发了__del__里面的print;最后每一行命令运行完了,p1对象也不需要被引用了,所以系统自动把它回收了,然后又触发了一个__del__里面的print。

拜师教育学员文章:作者:1324-易同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《20201130_095.__del__()析构方法和垃圾回收机制》 发布于2020-12-01

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录