加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 21:52:15 所属栏目:Python 来源:网络整理
导读:这是Python的循环引用的示例. a = [1] b = [2] a.append(b) b.append(a) 在这之后, sys.getrefcount(a) = 3 sys.getrefcount(b) = 3 为什么a和b的引用计数为3? 对不起,伙计们我犯了一个错误. 真正的问题是不同的问题. GNU = ['is not Unix'] GNU.insert(0,G

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

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

在这之后,

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

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

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

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

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

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

提前致谢 :)

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读