2011-02-14 107 views
6

對於我來說,定義一個新對象後交互式環境中的參考編號增加2是有點奇怪的。我只創建了一個對象,不是嗎?爲什麼在Python中每個新對象的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] 
+6

你如何印刷'refs'? –

+0

-1:至少直到你解釋爲什麼*你認爲參考數字正在增加2! –

+2

@ScottGriffiths:這不明顯嗎? 41832 - 41830是2. –

回答

8

你的任務通過建立在具有v作爲密鑰,並且"v"作爲值globals()詞典中的條目工作。這是兩個引用(一個用於鍵值和一個值),雖然在這種情況下它們可能都指向相同的字符串"v"

相關問題