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 #关闭文件,释放内存


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM