本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、说明
(1)简单来说,当一个对象不再使用时,应该被释放,但是,当对象被删除后仍然存在引用计数时,将无法释放该对象。
(2)当被del后的对象还存在引用计数时,通过引用计数器机制就无法做到真正从内存中回收它们,于是就造成了,由循环引用引起的内存泄漏问题。
2、实例
class Person: def __del__(self): print("Person({0}) 被释放".format(id(self))) class Dog: def __del__(self): print("Dog({0}) 被释放".format(id(self))) p = Person() # p = 1 dog = Dog() # dog = 1 # 循环引用 p.pet = dog # dog = 2 dog.master = p # p = 2 # 程序结束前 __del__() 不被调用 # 由于循环引用,本质上无法真正删除 p, dog,只是在语法层面上删除了它们。 del p, dog # p, dog = 1, 1
以上就是python循环引用的介绍,希望能对大家有所帮助。更多Python学习指路:创新互联python教程
分享名称:创新互联Python教程:python循环引用是什么意思?
网页链接:http://www.mswzjz.cn/qtweb/news8/315458.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能