python循环引用是什么意思?
- 更新时间:2021-07-13 09:08:01
- 编辑:权英博
给网友朋友们带来一篇相关的编程文章,网友宓月明根据主题投稿了本篇教程内容,涉及到Python相关内容,已被300网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
参考资料
- python tkinter实现贷款计算器 / 6 KB / 码小辫 推荐度:
- Python +Excel高效办公:轻松实现Python数据分析与可视化 PDF 电子书 / 56.8 MB / 蔡驰聪 推荐度:
- 跟老齐学Python:轻松入门 PDF 电子书 / 46.6 MB / 齐伟 推荐度:
- 利用Python进行数据分析(第2版) PDF 电子书 / 91.7 MB / 韦斯?麦金尼 推荐度:
- Python源码剖析 PDF 电子书 / 29.1 MB / 陈儒 推荐度:
正文内容
码农之家最近发表了一篇名为《python循环引用是什么意思?》的py文章,代码实例很详细,这里给大家转摘到这里,觉得好就请收藏下。
本文教程操作环境: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 输出是省略号的问题,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧
发布时间:2019-07-11
-
Python文本处理之按行处理大文件的方法
下面小编就为大家分享一篇Python文本处理之按行处理大文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2019-08-26