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

पायथन के OOP प्रतिमान में इंस्टेंस विधियों और क्लास विधियों के बीच मुख्य अंतर क्या है?

2024-11-20 को प्रकाशित
ब्राउज़ करें:506

What is the key difference between instance methods and class methods in Python\'s OOP paradigm?

क्लास मेथड्स बनाम इंस्टेंस मेथड्स: भेद को स्पष्ट करना

पायथन के ओओपी प्रतिमान में, विधियां वस्तुओं पर कार्यों को निष्पादित करने के लिए एक मौलिक अवधारणा हैं। इन विधियों को दो प्रकारों में वर्गीकृत किया जा सकता है: उदाहरण विधियाँ और वर्ग विधियाँ। प्रभावी कोड डिज़ाइन के लिए इन दो प्रकारों के बीच अंतर को समझना महत्वपूर्ण है। इंस्टेंस विधि बनाते समय, self को पहले पैरामीटर के रूप में उपयोग किया जाना चाहिए। Self उस उदाहरण का प्रतिनिधित्व करता है जो विधि को लागू करेगा और उसकी विशेषताओं तक पहुंच प्रदान करेगा। डेवलपर्स के रूप में, हम आम तौर पर इंस्टेंस विधियों को कॉल करते समय स्पष्ट रूप से सेल्फ पासिंग को छोड़ देते हैं, क्योंकि जब हम पीरियड (.) ऑपरेटर का उपयोग करते हैं तो पायथन इसका ख्याल रखता है। ):

कक्षा उदाहरण: def __init__(स्वयं, नाम): स्व.नाम = नाम डीईएफ़ परिचय (स्वयं): प्रिंट ("हैलो, मैं %s हूं, और मेरा नाम " %(self, self.name))

इस विधि को नियोजित करने के लिए, हम इंस्टेंस क्लास के इंस्टेंस बनाते हैं और उन पर इंट्रोड्यूस() कॉल करते हैं:

myinst = Inst("परीक्षण उदाहरण") myinst.introduce() # आउटपुट: नमस्ते, मैं हूं, और मेरा नाम टेस्ट इंस्टेंस है

class Inst:

    def __init__(self, name):
        self.name = name

    def introduce(self):
        print("Hello, I am %s, and my name is " %(self, self.name))

इंस्टेंस विधियों के विपरीत, क्लास विधियों को इंस्टेंस की आवश्यकता नहीं होती है और वे क्लास पर ही काम करते हैं। क्लास विधि को परिभाषित करते समय, पहला पैरामीटर cls होना चाहिए, जो उस क्लास का प्रतिनिधित्व करता है जिस पर विधि लागू की जा रही है। क्लास विधियाँ उन कार्यों के लिए विशेष रूप से उपयोगी होती हैं जो विशिष्ट उदाहरणों पर निर्भर नहीं होते हैं बल्कि संपूर्ण क्लास से संबंधित कार्यक्षमता प्रदान करते हैं।
myinst = Inst("Test Instance")
myinst.introduce()  # Outputs: Hello, I am , and my name is Test Instance

कक्षा सीएलएस: @classmethod डीईएफ़ परिचय (सीएलएस): प्रिंट करें ("हैलो, मैं %s हूं!" %cls)

इस मामले में, हम किसी उदाहरण की आवश्यकता के बिना, सीधे सीएलएस वर्ग पर परिचय() विधि को कॉल कर सकते हैं:

Cls.introduce() # आउटपुट: नमस्ते, मैं हूं

ध्यान दें कि क्लास के उदाहरण का उपयोग करके क्लास विधियों को भी कॉल किया जा सकता है। जिस स्थिति में क्लास को ही पहले पैरामीटर के रूप में पारित किया जाता है। पायथन में. इंस्टेंस विधियां विशिष्ट उदाहरणों पर काम करती हैं, जबकि क्लास विधियां क्लास पर ही काम करती हैं। उपयुक्त विधि प्रकार का चयन यह सुनिश्चित करता है कि कोड कुशल और रखरखाव योग्य दोनों है।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3