python析构函数的底层机制

Python (190) 2023-06-11 02:06:33

说明

1、Python为每个对象配置计时器。

初始Python实例对象的计数器值为0。

2、变量a引用变更实例对象时,其计数器的值+1。

变量b也引用实例对象时,计数器的值再次+1。变量a取消引用该例子对象时,计数器值为-1。多个变量引用该实例对象时,按顺序推进-1。

3、多个变量引用实例对象时,计数器值以此类推进+1。

4、计数器值减少到0时,表示没有变量引用的例子。

即证明程序不需要,Python自动调用__del_()方法回收。

实例

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
#def__del__(self):
#print('我走了')
classPerson:
def__init__(self):
print('我出生了')
def__del__(self):
print('我走了')
defeat(self):
print('吃饭')
p=Person()
p.eat()
#将注释部分分别运行,观察析构函数的运行规则
#a=1
#whileTrue:
#a+=1
#def__del__(self): #print('我走了') classPerson: def__init__(self): print('我出生了') def__del__(self): print('我走了') defeat(self): print('吃饭') p=Person() p.eat() #将注释部分分别运行,观察析构函数的运行规则 #a=1 #whileTrue: #a+=1
#def__del__(self):
#print('我走了')
classPerson:
def__init__(self):
print('我出生了')
def__del__(self):
print('我走了')
defeat(self):
print('吃饭')
p=Person()
p.eat()
#将注释部分分别运行,观察析构函数的运行规则
#a=1
#whileTrue:
#a+=1

以上就是python析构函数的底层机制,希望对大家有所帮助。更多Python高级指路:python高级

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复