【Python】_del_方法

当一个Python对象要被系统回收时,系统会自动调用该对象的_del_方法。

Python使用自动引用计数(ARC)来回收对象所占用的内存,当一个对象的引用计数为0后,说明程序中不再需要该对象,Python就会自动回收该对象。

class test:
    def __init__(self,name,age):
        self.age = age
        self.name = name
    def __del__(self):
        print("使用_del_方法")

t = test("zhou",30)

a = t

del t
print("程序将要结束")

上面的代码中,定义了2个变量引用对象,即使del了一个变量,该对象的引用计数依旧不是0,所以_del_方法在程序的最后被执行,打印结果为:

程序将要结束
使用_del_方法

如果我们尝试将a = t 这行注释掉,则会发现,由于del变量t后,该对象的引用计数为0,所以在程序结束前,就执行了_del_方法

你可能感兴趣的:(Python)