python循环引用的解决办法,循环引用是啥意思
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
1、说明
(1)简单来说,当一个对象不再被使用时,就应该将其释放。然而,当引用计数在对象被删除后仍然存在时,它不能被释放。
(2)当del之后的对象还有引用计数时,无法通过引用计数器机制真正从内存中恢复,导致循环引用导致的内存泄漏。
2、实例
classPerson:
def__del__(self):
打印(“人员({0})已被释放”)。格式(id(自身)))
classDog:
def__del__(self):
Print(狗({0})已被释放。格式(id(自身)))
p=Person()#p=1
dog=Dog()#dog=1
#循环引用
宠物=狗#狗=2
dog.master=p#p=2
#在程序结束前不会调用__del__ ()
#由于循环引用,p,dog本质上并不能真的删掉,只是在语法层面删掉而已。
Delp,dog # p,dog=1,1以上是python循环引用的介绍。希望能对大家有所帮助。更多python学习方向:Python基础课程
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。