为什么Python中的每个新对象的ref都增加2?

Tho*_*son 6 python cpython python-internals

在定义新对象后,交互式环境中的refs数增加2对我来说有点奇怪.我只创建了一个对象,不是吗?

>>> v
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'v' is not defined
[41830 refs]
>>> v = "v"
[41832 refs]
Run Code Online (Sandbox Code Playgroud)

Dun*_*can 8

您的作业通过在globals()字典中创建具有v键和"v"值的条目来工作.这是两个引用(一个用于键,一个用于值),尽管在这种情况下它们可能都引用相同的字符串"v".