这是 Python 循环引用的示例。
>>> a = [1]
>>> b = [2]
>>> a.append(b)
>>> b.append(a)
在这之后,
>>> sys.getrefcount(a) = 3
>>> sys.getrefcount(b) = 3
为什么引用计数为 3 a
?b
对不起,伙计们,我只是弄错了。
真正的问题是不同的。
>>> GNU = ['is not Unix']
>>> GNU.insert(0, GNU)
>>> sys.getrefcount(GNU) = 4
为什么 'GNU' 的引用计数是 4 ?
提前致谢 :)