3.1.13 内置方法--__del__(self)

Posted beallaliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.1.13 内置方法--__del__(self)相关的知识,希望对你有一定的参考价值。

在对象删除时触发__del__(self),然后再删除对象自己。

如果对象没有删除,程序结束时,会自动删除对象。

class Open:
    def __init__(self,filename):
        print(‘open file.......‘)
        self.filename=filename

    def __del__(self):
        print(‘回收操作系统资源:self.close()‘)

f=Open(‘settings.py‘)
del f #f.__del__()
print(‘----main------‘) #del f #f.__del__()

结果:
open file.......
回收操作系统资源:self.close()
----main------

  

class Open:
    def __init__(self,filename):
        print(‘open file.......‘)
        self.filename=filename

    def __del__(self):
        print(‘回收操作系统资源:self.close()‘)

f=Open(‘settings.py‘)
#del f #f.__del__()
print(‘----main------‘) #del f #f.__del__()

结果:
open file.......
----main------
回收操作系统资源:self.close()
执行print(‘----main------‘) 后程序结束,自动释放对象f

  

 

以上是关于3.1.13 内置方法--__del__(self)的主要内容,如果未能解决你的问题,请参考以下文章

Python_021(内置方法讲解二)

20180802 (个别内置方法)

反射与内置方法str del

内置方法及模块初识

python-面向对象-内置方法补充

Python — magic method