# 构造方法 申请一个空间
# 析构方法 释放一个空间,在释放空间之前执行的
#
# 垃圾回收机制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