"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्यों `सुपर ()` अपने पायथन कोड को तोड़ता है?

क्यों `सुपर ()` अपने पायथन कोड को तोड़ता है?

2025-03-23 ​​पर पोस्ट किया गया
ब्राउज़ करें:590

] यह व्यवहार एक कंपाइल-टाइम मैजिक ट्रिक द्वारा सक्षम है जो सुपर () और कॉलिंग क्लास के बीच एक कनेक्शन स्थापित करता है। हालाँकि, यदि सुपर नाम एक अलग चर (उदाहरण में सुपर_) के लिए रिबाउंड है, तो यह कनेक्शन टूट गया है।

 Why Does Rebinding `super()` Break Your Python Code? 
इसका कारण D.R.Y है। (अपने आप को दोहराएं नहीं) सिद्धांत। सुपरक्लास के लिए कॉल में कॉलिंग क्लास का नामकरण इस सिद्धांत का उल्लंघन करता है और रिबाइंडिंग मुद्दों के जोखिम को बढ़ाता है। इसके अतिरिक्त, वर्ग के नाम को बदलने वाले वर्ग डेकोरेटर का उपयोग करना भी मूल वर्ग ऑब्जेक्ट के संदर्भ को बाधित करता है। सेल मूल वर्ग ऑब्जेक्ट का संदर्भ देता है, यह सुनिश्चित करता है कि सुपर () हमेशा सही सुपरक्लास तक पहुंच सकता है, भले ही सुपर नाम रिबाउंड हो। By simplifying the call syntax and avoiding infinite recursion pitfalls, the updated implementation helps prevent errors.

If super is rebound, referencing class in the method restores its functionality. ऐसा इसलिए है क्योंकि सेल तब बनाया जाता है जब या तो सुपर या

वर्ग

का उपयोग विधि के भीतर किया जाता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3