getattr
का उपयोग करके मॉड्यूल में क्लास-लाइक व्यवहार को गतिशील रूप से कार्यान्वित करना, कुछ परिदृश्यों में, इसकी नकल करना वांछनीय हो सकता है __getattr__ का व्यवहार किसी कक्षा पर नहीं बल्कि संपूर्ण मॉड्यूल के लिए। यह मॉड्यूल पर विशेषता लुकअप के आधार पर क्लास इंस्टेंसेस के गतिशील निर्माण और उनके तरीकों के आह्वान की अनुमति देता है। &&&]पायथन केवल कक्षाओं में ऐसे तरीकों की जांच करता है।
विशेषता सेटिंग की अनुमति देने के लिए अंतर्निहित मॉड्यूल प्रकार (मॉड्यूल) को संशोधित करना संभव नहीं है।
# मॉड्यूल foo.py आयात sys कक्षा फू: def function1(स्वयं, *args): def function2(स्वयं, *args): sys.modules[__name__] = Foo()
अब, मॉड्यूल में परिभाषित कार्यों को Foo के उदाहरण के माध्यम से एक्सेस किया जा सकता है।
Considerations
इन तकनीकों का उपयोग करते समय, sys.modules असाइनमेंट के बाद अन्य मॉड्यूल तत्व अप्राप्य हो सकते हैं। मॉड्यूल सामग्री खोने से बचने के लिए प्रतिस्थापन वर्ग के भीतर सभी आवश्यक कार्यक्षमता को परिभाषित करें। आयात विवरण का प्रकार. __all__ से __module__ और __qualname__ जैसी विशेषताओं को हटा दें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3