第101课时: 类: del()析构方法和垃圾回收机制
__del__方法 (析构函数) 和 垃圾回收机制:
del() 叫做 ‘“析构方法” ,用于实现对象被销毁时所需的操作。比如:释放对象占用的资源,例如:打开的文件资源,网络连接等。
Python实现自动垃圾回收,当对象没有被引用时(引用计数为0),由垃圾回收器调用 del() 方法。 一般系统会自动提供__del__()方法,不需要自己定义
内存示意图:
一个对象被abc引用,refc为对象的引用计数,当abc被删除时,那么表示这个对象没有用了,refc=0,所以这时候启动垃圾回收机制。 下面为内存示意图。
测试操作:析构方法测试
class student:
def __del__(self):
print('销毁对象是{0}'.format(self))
p1 = student()
p2 = student()
del p1
print('程序结束')
销毁对象是<main.student object at 0x000002B7208283C8>
程序结束
销毁对象是<main.student object at 0x000002B720A51C50>
首先del的是p1, 程序结束后,又会自动销毁p2