कार्यों की प्रकृति, अनबाउंड विधियों और बाउंड विधियों का अनावरण
वर्गों और विधियों की अवधारणा ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रतिमानों के लिए मौलिक है . पायथन की विधि समाधान प्रणाली की जटिलताओं में महारत हासिल करने के लिए कार्यों, अनबाउंड विधियों और बाउंड विधियों के बीच की बारीकियों और संबंधों को समझना महत्वपूर्ण है।
इकाइयों को परिभाषित करना
फ़ंक्शन टू अनबाउंड मेथड:
टाइप्स.मेथोडटाइप का उपयोग करना या क्लास बॉडी के भीतर किसी फ़ंक्शन को एक्सेस करना इसे प्रभावी ढंग से एक अनबाउंड मेथड में बदल देता है।वर्ग जागरूकता:
एक अनबाउंड विधि का ज्ञान रखती है यह जिस वर्ग से संबंधित है, जबकि फ़ंक्शंस और बाउंड तरीकों में इस जागरूकता का अभाव है। &&&]किसी फ़ंक्शन को किसी इंस्टेंस से बाइंड करने से एक संशोधित संस्करण बनता है जहां पहला पैरामीटर स्वाभाविक रूप से दिए गए इंस्टेंस पर सेट होता है। अनिवार्य रूप से, यह बाध्य विधि निम्नलिखित वैकल्पिक रूपों के समान व्यवहार करती है:
lambda *args, **kwargs: f1(C(), *args, **kwargs) functools.partial(f1, C())f1(C())
C.f1(C())
C().f1()
क्लास के एक पायथन 2 उदाहरण में अनबाउंड तरीकों के अनुरूप कोई प्रत्यक्ष विशेषता नहीं है, जो हैं इसके बजाय कक्षा की __dict__ विशेषता के माध्यम से पुनर्प्राप्ति योग्य है। हालाँकि, किसी उदाहरण पर एक अनबाउंड विधि तक पहुँचने के परिणामस्वरूप इसका एक बाउंड विधि में स्वचालित रूपांतरण होता है। आपको पायथन की विधि समाधान तंत्र का प्रभावी ढंग से उपयोग करने का अधिकार देता है। बाइंडिंग और परिवर्तन के तंत्र को समझना आपको ऑब्जेक्ट-ओरिएंटेड कोडिंग की जटिलताओं को आसानी से नेविगेट करने में सक्षम बनाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3