首页 > 其他分享 >del析构函数

del析构函数

时间:2024-03-17 12:56:16浏览次数:21  
标签:__ obj1 函数 self del 析构 print def

del析构函数

# ### __del__ 魔术方法(析构方法)
'''
	触发时机:当对象被内存回收的时候自动触发[1.页面执行完毕回收所有变量 2.所有对象被del的时候]
    功能:对象使用完毕后资源回收
	参数:一个self接受对象
	返回值:无
'''

# (1) 基本语法

class Lion():
	def __init__(self,name):
		self.name = name
		
	def __del__(self):
		print("析构方法被触发 ... ")

# 触发方式一: 页面执行完毕回收所有变量
obj1 = Lion("辛巴")

# 触发方式二: 对象的所有引用消失
obj2 = obj1
obj3 = obj1
print(obj2 , obj1 ,obj3)
print("<====start===>")
del obj1
del obj2
del obj3
print("<====end===>")

模式文件的wtih类

# (2) 模拟文件操作
import os
class ReadFile():
	# 根据文件是否存在,创建对象
	def __new__(cls,filename):
		if os.path.exists(filename):
			return object.__new__(cls)
		else:
			print("抱歉,没有这个文件")
	
	# 打开文件
	def __init__(self,filename):
		self.fp = open(filename,mode="r",encoding="utf-8")
		
	# 关闭文件
	def __del__(self):
		self.fp.close()
		
	# 读取文件
	def readcontent(self):
		return self.fp.read()
		

obj = ReadFile("0.py")
print(obj.readcontent())

标签:__,obj1,函数,self,del,析构,print,def
From: https://www.cnblogs.com/wbcde116/p/18078437

相关文章

  • delphi中的异常,Raise、Exception
    标准语法try//....exceptonException1:e1do{specificexception-handlingcode};onException2:e2do{specificexception-handlingcode};else{defaultexception-handlingcode};end;异常嵌套try{statements}try......
  • 【滤波跟踪】基于Huber函数和最大相关熵的抗差滤波算法实现GNSS导航定位粗差处理结合
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • UG NX二次开发(C#)-CAM-采用内部函数获取drill操作的进给
    CAM二次开发第一章UGNX二次开发(C#)-CAM-采用内部函数获取drill操作的进给文章目录CAM二次开发1、前言2、在高版本中打开drill加工模板3、读取drill加工操作3.1用NXOpen的FindObject实现3.2、通过Collection集合获取3.3通过选择工序导航器实现(Ufun和NXOpen......
  • 滴水逆向笔记系列-win32总结1-43.宽字节-44.事件_消息_消息处理函数
    第四十三课win32宽字节1.编码0x00.ASCII码1、ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符2、标准ASCII码使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。3、扩展ASCII码允许将......
  • 滴水逆向笔记系列-win32总结2-45.esp寻址_定位回调函数-46.子窗口_消息处理函数-47.资
    第四十五课win32esp寻址_定位回调函数自己vs编译的exe入口函数好像和课程视频哩的vc6不一样,没办法跟着视频走,可以用课件里给的作业exe勉强跟着视频学,前面的都差不多,课件下载地址:https://www.bcdaren.com/video/videoPlay/3303185150621818881.win32应用程序入口识别没加过壳......
  • qmsolve包绘制自由微观粒子波函数的时间演化
            qmsolve包可以将薛定谔方程可视化,下面介绍一下一维自由微观粒子的薛定谔方程解。importnumpyasnpfromqmsolveimportHamiltonian,SingleParticle,TimeSimulation,init_visualization,femtoseconds,m_e,Å#定义势能项为零defpotential_barrier......
  • C语言快速入门之字符函数和字符串函数
    一.字符分类函数和字符转换函数C语言中有一系列的函数专门做字符分类的,就是区分一个字符是属于什么类型的,头文件是#include<ctype.h>以下是具体函数:这些函数的使用方法类似,我们写出一些代码来举例。例如,我们实验以下islower()函数,它是接受一个字符,如果是⼩写字⺟就返回......
  • 字符函数和字符串函数(一)
    一.字符分类函数判断一个字符属于什么类型的字符,需要包含头文件<ctype.h>如果是是与判断类型相同,返回非0整数,如果不用就返回0下面是函数:iscntrl//任何控制字符isspace//空白字符:空格'',换页'\f',换行'\n',回车'\r',制表符'\t',垂直制表符'\v'isdigit//十进制数字0—10is......
  • 第7讲:数组和函数实践:扫雷游戏
    第7讲:数组和函数实践:扫雷游戏1.扫雷游戏分析和设计1.1扫雷游戏的功能说明1.2游戏的分析和设计1.2.1数据结构的分析1.2.2文件结构设计2.扫雷游戏的代码实现3.扫雷游戏的扩展1.扫雷游戏分析和设计1.1扫雷游戏的功能说明•使用控制台实现经典的扫雷游戏•......
  • 1.3函数提高
    1、函数默认参数在C++语法中,函数的形参列表中的形参是可以有默认值的语法:返回值类型函数名(参数=默认值){}如:voidfunc(inta=10){}注意1:如果某个位置参数有默认值,那么这个位置往后,从左向右,必须都要有默认值!如:voidfunc(inta,intb=10,intc){}这是错误的,如果b......