在Python中,循环引用的引用计数是什么?为什么?

前端之家收集整理的这篇文章主要介绍了在Python中,循环引用的引用计数是什么?为什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是Python的循环引用的示例.@H_502_2@

@H_502_2@

>>> a = [1]
>>> b = [2]
>>> a.append(b)
>>> b.append(a)

在这之后,@H_502_2@

@H_502_2@

>>> sys.getrefcount(a) = 3
>>> sys.getrefcount(b) = 3

为什么a和b的引用计数为3?@H_502_2@

对不起,伙计们我犯了一个错误.@H_502_2@

真正的问题是不同的问题.@H_502_2@

@H_502_2@

>>> GNU = ['is not Unix']
>>> GNU.insert(0,GNU)
>>> sys.getrefcount(GNU) = 4

为什么’GNU’的引用计数是4?@H_502_2@

提前致谢 :)@H_502_2@

最佳答案
每个都有3个引用:@H_502_2@

>在第一个元素的另一个列表中.
>作为sys.getrefcount()的参数.
>当前范围,即绑定到a和b.

猜你在找的Python相关文章