说明

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析构函数的底层机制,希望对大家有所帮助。