析构函数
Posted yfjly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了析构函数相关的知识,希望对你有一定的参考价值。
# 构造方法 申请一个空间 # 析构方法 释放一个空间,在释放空间之前执行的
# # 垃圾回收机制a # # class A: # def __del__(self): # print("执行我了") # # a = A() # # del a # 对象的删除(不过一般都由垃圾回收机制自动负责) # print(a) # class File(): # 处理文件 def __init__(self,file_path): self.f = open(file_path,"r",encoding="utf-8") def read(self): return self.f.read(1024) def __del__(self): # 析构函数一般都是去释放一些在创建对象的时候接用的一些资源 self.f.close() # 在del 对象的时候会执行,或者在垃圾回收机制的时候会执行 f = File("内容02.py") print(f.read()) # 不管主动还是被动,这个f对象总会被清理掉,被清理掉之前会自动触发__del__ 方法,这个方法就会归还操作系统的文件资源 # 某对象借用了操作系统的资源,还要通过析构方法归还回去:文件资源,网络资源, # del f # 删除文件资源 # f.close() #释放操作系统的文件资源
#
# with open() as f:
# "code"
# # 如果在with代码块中出现了一些特殊异常,就可能来不及执行f.close() .如果出错自己查不了,就使用open close
以上是关于析构函数的主要内容,如果未能解决你的问题,请参考以下文章