首页 > 技术文章 > 3.1.13 内置方法--__del__(self)

beallaliu 2018-06-01 09:00 原文

在对象删除时触发__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

  

 

推荐阅读