मैंने कई पायथन ट्यूटोरियल (एक में, के लिए डाइव इनटू पायथन), और पायथन ओन पर भाषा संदर्भ पढ़ा है - मैं नहीं देखता कि भाषा को ट्यूपल्स की आवश्यकता क्यों है।
किसी सूची या सेट की तुलना में ट्यूपल्स की कोई विधि नहीं है, और अगर मुझे उन्हें सॉर्ट करने में सक्षम होने के लिए एक सेट या सूची में एक ट्यूपल को बदलना होगा, तो पहली जगह में एक ट्यूपल का उपयोग करने का क्या मतलब है?
अचल स्थिति?
जब कोई मूल रूप से आवंटित किया गया था, तो उसकी तुलना में कोई चर स्मृति में किसी भिन्न स्थान पर क्यों रहता है? पायथन में अपरिवर्तनीयता के इस पूरे कारोबार पर जोर दिया जा रहा है।
C / C ++ में यदि मैं एक पॉइंटर आवंटित करता हूं और कुछ वैध मेमोरी को इंगित करता हूं, तो मुझे परवाह नहीं है कि पता जहां तक है, जब तक मैं इसे उपयोग करने से पहले यह शून्य नहीं है।
जब भी मैं उस चर का संदर्भ देता हूं, मुझे यह जानने की आवश्यकता नहीं है कि सूचक अभी भी मूल पते की ओर इशारा कर रहा है या नहीं। मैं बस अशक्त के लिए जाँच करता हूं और इसका उपयोग करता हूं (या नहीं)।
पायथन में, जब मैं एक स्ट्रिंग (या टुपल) आवंटित करता हूं, तो इसे एक्स को असाइन करें, फिर स्ट्रिंग को संशोधित करें, अगर यह मूल वस्तु है तो मुझे क्यों परवाह है? जब तक चर मेरे डेटा को इंगित करता है, तब तक यह सब मायने रखता है।
>>> x='hello'
>>> id(x)
1234567
>>> x='good bye'
>>> id(x)
5432167
x अभी भी मेरे द्वारा वांछित डेटा का संदर्भ है, किसी को इसकी आईडी या समान होने पर देखभाल करने की आवश्यकता क्यों है?