Python3中__del__“魔法“方法理解

Python3中__del__方法:

   在定义的类中存在__del__方法时,当类被删除的时候,程序会自动执行__del__当中的代码(正好与__init__方法相反).

   值得注意的地方是,要明白什么时候才是真正删除了类.

代码:

class Hero:
    def __del__(self):
        print("英雄已阵亡")
    
man1 = Hero()
man2 = man1
del man1
del man2
print("程序执行完毕")

英雄已阵亡
程序执行完毕

 这里要注意,代码中指向类的有两个,分别是man1和man2,当删除man1时,Hero()类并没有真正的删除掉,当把man2也删除后,指向Hero类的指针为0,此时才真正删除了Hero类.可以对比一下两个代码运行的结果.

class Hero:
    def __del__(self):
        print("英雄已阵亡")
 
man1 = Hero()
man2 = man1
del man1
print("程序执行完毕")

程序执行完毕
英雄已阵亡

对比两段代码,更易懂

 

你可能感兴趣的:(Python,Python3中__del__,Python,__del__,__del__魔法方法,__del__方法,Python3,__del__)