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

时间:2011-02-14 11:44:35

标签: 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]

1 个答案:

答案 0 :(得分:8)

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