__del__函数:python销毁对象时,需要先调用__del__函数,再销毁。
1. 自动销毁
class Human:
def __init__(self,name,age):
self.name=name
self.age=age
def __del__(self):
print('__del__运行了')
p=Human('ydy',22)
print('='*50)
运行结果
可以看到,程序在代码执行完最后一行后,销毁对象,自动调用了__del__函数
2. 主动调用__del__函数
一般不建议显式调用__del__函数
class Human:
def __init__(self,name,age):
self.name=name
self.age=age
def __del__(self):
print('__del__运行了')
p=Human('ydy',22)
p.__del__()
print('='*50)
运行结果
3. 使用del
class Human:
def __init__(self,name,age):
self.name=name
self.age=age
def __del__(self):
print('__del__运行了')
p=Human('ydy',22)
del p
print('='*50)
运行结果
4. __del__的用途
python回收的是应用程序的资源,而操作系统的资源是不管的。
我们可以定义__del__函数,使得程序在销毁对象前,释放操作系统的资源。
Python 中的 __del__
方法可以用来在对象被销毁之前执行一些清理操作,比如释放操作系统的资源。这个方法在对象即将被垃圾回收时被调用,可以用来执行一些必要的清理工作,如关闭文件、释放网络连接等。