Python-类对象的特殊方法__del__()

  1. 类对象的特殊方法__del__()

类对象的特殊方法__del__()

系统会自动销毁不再需要的对象以释放内存。因此,当对象被销毁时通常不需要手动的执行清理工作。但是,当使用我们自己创建的资源时,可能需要执行一些额外的清理工作,例如:如果创建了以一个自定义的类对象来打开一个文件并写入一些数据,可能需要在实例对象被销毁之前关闭该文件。为了执行这些额外的清理工作,可以在自定义的类对象中实现特殊方法__del__()

当内存那种的对象被销毁(垃圾回收)之前,会自动调用其对应的特殊方法__del__()

当对象的引用计数为0时,对象并不会立刻被销毁(垃圾回收),何时进行垃圾回收是不确定的。因此,特殊方法__del__()何时被调用也是不确定的。

#!/usr/bin/python3

class MyClass(object):
    def __del__(self):
        print('__del__()被调用了')

mc = MyClass()

del mc
[root@lyucan ~]# ./27.py
__del__()被调用了

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 289211569@qq.com