9 python reference-counting python-3.x
在这个答案中,我找到了一种在Python中获取对象引用计数的方法.
他们提到使用sys.getrefcount()
.我尝试过,但是我得到了意想不到的结果.当有1个引用时,似乎计数为20.为什么会这样?
我查看了文档,但似乎没有解释原因.
该对象恰好在第一次sys.getrefcount
调用时有20个引用它.它不仅仅是你创建的参考文献; 在其他模块和Python内部中有各种其他引用,因为(这是一个实现细节)Python的标准实现只创建一个100
对象并将其用于100
Python程序中的所有事件.
有许多原因可以对对象进行多次引用.追踪哪一个可能很难,并决定它是否值得,可能会绕过你的兴趣水平.引用计数是调试应用程序和python变体的开发人员的主要兴趣.
PyPi与C-Python与IPython相比,这些计数的确切参考计数和含义将有所不同.引用计数很少是在Python中查找奇怪行为的好工具.