第十六集:析构方法

'''

# 当前类的实例化对象被销毁时,自动销毁
# 作用:比如在初始化方法中的开发的文件,可以在构造方法中
def __del__(self):
print('我时析构方法')
对象的销毁的几种情况:
1.当程序执行完毕,所有内存中的资源都会被销毁释放
2.使用del删除
3.对象不再被引用时会自动销毁
'''
import os, time


class Pet():
filepath = './'
filename = str(time.strftime('%Y-%m-%d')) + '.log'

def __init__(self, filename):
print('初始化方法')
self.filename = filename
self.cc = open(self.filepath + self.filename, 'w', encoding='utf-8')

def create(self):
print('我在打开文件写日志')
# cc = open(self.filepath + self.filename, 'w', encoding='utf-8')
# cc.writelines('ni hao')

# 作用:关闭一些打开的资源
def __del__(self):
# 在对象被销毁时,关闭在初始化方法中打开的文件对象
print('关闭打开的文件')
self.cc.close()


l = Pet(str(time.strftime('%Y-%m-%d')) + '.log')
l.create()
print('...')
# 初始化方法
# 我在打开文件写日志
# ...
# 关闭打开的文件

# Pet(str(time.strftime('%Y-%m-%d')) + '.log').create()
# print('...')
posted @ 2022-03-01 23:47  冬天里的狐狸  阅读(33)  评论(0编辑  收藏  举报