说明
1、Python为每个对象配置计时器。
初始Python实例对象的计数器值为0。
2、变量a引用变更实例对象时,其计数器的值+1。
变量b也引用实例对象时,计数器的值再次+1。变量a取消引用该例子对象时,计数器值为-1。多个变量引用该实例对象时,按顺序推进-1。
3、多个变量引用实例对象时,计数器值以此类推进+1。
4、计数器值减少到0时,表示没有变量引用的例子。
即证明程序不需要,Python自动调用__del_()方法回收。
实例
#def __del__(self): # print('我走了') class Person: def __init__(self): print('我出生了') def __del__(self): print('我走了') def eat(self): print('吃饭') p=Person() p.eat() #将注释部分分别运行,观察析构函数的运行规则 #a=1 #while True: # a+=1
以上就是python析构函数的底层机制,希望对大家有所帮助。更多Python高级指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。