2011-02-14 18 views
6

यह मेरे लिए थोड़ा अजीब बात है कि एक नई वस्तु परिभाषित होने के बाद इंटरैक्टिव वातावरण में रेफरी संख्या 2 बढ़ जाती है। मैंने केवल एक वस्तु बनाई, है ना?पायथन में प्रत्येक नई वस्तु के लिए रेफ 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

आप 'रेफरी' कैसे प्रिंट कर रहे हैं? –

+0

-1: कम से कम जब तक आप समझाएं * क्यों * आपको लगता है कि संदर्भ संख्या 2 से बढ़ रही है! –

+2

@ स्कॉट ग्रिफिथ्स: क्या यह स्पष्ट नहीं है? 41832 - 41830 2. –

उत्तर

8

आपके असाइनमेंट globals() शब्दकोश है कि v एक महत्वपूर्ण और "v" एक मूल्य के रूप में के रूप में एक प्रविष्टि बनाने के द्वारा काम किया। यह दो संदर्भ हैं (कुंजी के लिए एक और मूल्य के लिए एक) हालांकि इस मामले में वे शायद एक ही स्ट्रिंग "v" देखें।