python析构方法__del__

析构方法

此方法一般无须定义,因为Python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给Python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。

示例代码

"模拟open的函数,可以使用析构方法,释放内存,关闭打开的文件"

class Open:
    def __init__(self,filepath,mode="r",encode="utf-8"):
        self.f = open(filepath,mode=mode,encoding=encode)
        
    def write(self):
        pass
    
    def __getattr__(self, item):
        return getattr(self.f,item)
    
    def __del__(self):
        print("--->del")
        self.f.close()

f = Open("a.txt","w")
del f #关闭文件,释放内存
posted @ 2017-05-02 16:58  Great_kyle  阅读(2533)  评论(0编辑  收藏  举报