95:__del__()析构方法和垃圾回收机制
###__del__方法(析构函数)和垃圾回收机制
__del__方法称为“析构方法”,用于实现对象被销毁时所需的操作。比如:释放对象占用的资源,例如:打开的文件资源、网络连接等。
Python 实现自动的垃圾回收,当对象没有被引用时(引用计数为 0),由垃圾回收器调用__del__方法。
我们也可以通过 del 语句删除对象,从而保证调用__del__方法。
系统会自动提供__del__方法,一般不需要自定义析构方法。
# 析构函数
class Person:
def __del__(self):
print("销毁对象:{0}".format(self))
p1 = Person()
p2 = Person()
del p2
print("程序结束")
输出结果:
D:\work\python\three\venv\Scripts\python.exe D:\work\python\three\mypy07.py
销毁对象:<__main__.Person object at 0x0000027A58162D40>
程序结束
销毁对象:<__main__.Person object at 0x0000027A58162FE0>
进程已结束,退出代码0