पायथन में अपरिवर्तनीय वस्तुएं: बुनियादी समाधानों से परे
जबकि मानक टपल वर्ग अपरिवर्तनीयता प्रदान करता है, यह लेख अपरिवर्तनीय वस्तुओं को बनाने के लिए अधिक उन्नत तकनीकों की खोज करता है शुद्ध पायथन में या सी एक्सटेंशन के साथ। हालाँकि, यह
initफ़ंक्शन में भी विशेषता सेटिंग को रोकता है। इसलिए, यह सभी परिदृश्यों के लिए उपयुक्त नहीं हो सकता है। &&&] विशेषताओं तक पहुँचने की विधि और गुण। हालाँकि, यह विधि self[0] और self[1] के माध्यम से विशेषता पहुंच को पूरी तरह से नहीं रोकती है, जो असुविधाजनक हो सकती है।
namedtuple समाधान: सरलता और अनुकूलतापाइथॉन संग्रह मॉड्यूल से नामांकित वर्ग का उपयोग करना एक सरल और अधिक मजबूत समाधान है:
Immutable = Collections.namedtuple("Immutable", ["a", "b"])पिछली तकनीक के समान, यह टुपल से प्राप्त एक प्रकार बनाता है और __slots__ का उपयोग करता है। यह कई फायदे प्रदान करता है:
छोटा कोड अधिक सटीक हैअचार और कॉपी के साथ संगतता
पायथन 2.6 या इसके बाद के संस्करण में उपलब्धता
निष्कर्ष
Immutable = collections.namedtuple("Immutable", ["a", "b"])
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3