导语:
本文主要介绍了关于python循环引用是什么意思?的相关知识,希望可以帮到处于编程学习途中的小伙伴
本文教程操作环境: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函数计算列表最大值和最大值?10/28
- ♥ 如何在python中输入pi08/27
- ♥ python如何读取csv的某些列09/14
- ♥ python input()的特点10/31
- ♥ python字符串如何访问字符10/15
- ♥ python如何生成脚本文件12/01
内容反馈