पायथन में वेरिएबल की अवधारणा C/C++ से भिन्न है। C/C++ में, वेरिएबल स्मृति में एक नामित स्थान है। भले ही एक का मान दूसरे को सौंपा गया हो, यह दूसरे स्थान पर एक प्रतिलिपि बनाता है।
int x=5; int y=x;
उदाहरण के लिए C++ में, &ऑपरेटर घोषित वैरिएबल का पता देता है।
cout<x<<&x<<y<<&y;
यह x और y के अलग-अलग पते प्रिंट करेगा, भले ही दोनों का मान समान हो। आप एक संदर्भ चर में पते को संग्रहीत करके इसका उपनाम बना सकते हैं
int x=5; int &y=x; y=10; cout<<x<<y;
यह दिखाता है कि दोनों चर 10 वाले हैं। यहाँ, y, x का संदर्भ है। इसलिए इनका परस्पर उपयोग किया जा सकता है।
हालाँकि, पायथन में, चर स्मृति में किसी वस्तु को दिया गया एक नाम है। भले ही हम इसका मान किसी अन्य चर के लिए निर्दिष्ट करते हैं, दोनों वास्तव में स्मृति में एक ही वस्तु का जिक्र कर रहे हैं। इसे आईडी () फ़ंक्शन द्वारा सत्यापित किया जा सकता है।
>>> x=5 >>> y=x >>> id(x), id(y) (1486402752, 1486402752)
इसलिए यह स्पष्ट है कि पायथन में, हम एक चर का संदर्भ नहीं बना सकते हैं।