python中__del__方法的使用

python中__del__方法的使用

1、__del__方法称为析构方法,用于实现对象被销毁所需的操作。Ex:释放对象占用的资源、打开的文件资源、网络连接等。

Python实现自动垃圾回收,当对象未被引用(引用计数为0)时,垃圾回收器调用__del__方法。

2、用del语句删除对象,确保调用系统自动提供的__del__方法,一般不需要自定义析构方法。

实例

class Person:
 
    def __del__(self):
        print("销毁对象:{0}".format(self))
 
p1 = Person()  # 5. 销毁对象:<__main__.Person object at 0x000001DFCD279FC8>
print(id(p1))  # 1. 2060731260872
p2 = Person()  # 3. 销毁对象:<__main__.Person object at 0x000001DFCD284088>
print(id(p2))  # 2. 2060731302024
del p2
print("over")  # 4. over
# print(id(p2))  # name 'p2' is not defined