Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में classmethod()


एक क्लास मेथड अपने पहले आर्गुमेंट के रूप में क्लास को ही प्राप्त करता है। इस तरह हम क्लास से पहले इंस्टेंस बनाए बिना क्लास के अंदर मेथड को कॉल करने में सक्षम होते हैं। हम क्लास में निहित मेथड की घोषणा से पहले डेकोरेटर @classmethod का उपयोग करते हैं और फिर हम सीधे मेथड को एक्सेस कर सकते हैं। नीचे क्लासमेथड्स की मुख्य विशेषताएं दी गई हैं।

  • एक क्लासमेथड एक क्लास से बंधा होता है और उपयोग किए जाने के लिए क्लास के इंस्टेंशिएशन पर निर्भर नहीं करता।
  • एक क्लासमेथड एक क्लास को संशोधित कर सकता है जो बदले में क्लास के सभी इंस्टेंसेज तक फैलता है।

classmethod का उपयोग करना

नीचे दिए गए उदाहरण में हम WeekDay नामक एक क्लास बनाते हैं और इसमें daynames नामक एक मेथड बनाते हैं। फिर हम इस मेथड को क्लास को पहले इंस्टेंशिएट किए बिना एक्सेस करते हैं जिसका अर्थ है क्लास से कोई ऑब्जेक्ट बनाए बिना।

उदाहरण

class WeekDay:
    day_name = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
    # क्लास मेथड लागू करना
    @classmethod
    def daynames(n):
        print('The WeekDays are', n.day_name)

WeekDay.daynames()
# या
WeekDay().daynames()

आउटपुट

उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:

The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

classmethod का उपयोग किए बिना

क्लासमेथड के बिना समान परिणाम प्राप्त करने के लिए हम मेथड को क्लास के बिना घोषित कर सकते हैं। यह उस कारण को दर्शाता है जिसके लिए हमें क्लास मेथड की आवश्यकता होती है।

उदाहरण

def daynames():
    day_name = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
    print('The WeekDays are', day_name)

daynames()

आउटपुट

उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:

The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
  1. Python Tkinter में after विधि Python Tkinter में after विधि

    Tkinter GUI बनाने के लिए एक Python लाइब्रेरी है। इसमें GUI विंडोज और अन्य विजेट्स बनाने और हेरफेर करने के लिए कई अंतर्निहित विधियाँ हैं जो डेटा और GUI इवेंट्स दिखाते हैं। इस लेख में हम देखेंगे कि Tkinter GUI में after विधि का उपयोग कैसे किया जाता है। सिंटैक्स .after(delay, FuncName=FuncName) यह विध

  1. पायथन में इनहेरिटेंस (Inheritance) पायथन में इनहेरिटेंस (Inheritance)

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में इनहेरिटेंस और क्लासेस को एक्सटेंड करने के बारे में जानेंगे।इनहेरिटेंस वास्तविक दुनिया के संबंधों को अच्छी तरह से दर्शाता है, पुन: प्रयोज्यता प्रदान करता है और ट्रांजिटिविटी का समर्थन करता है। यह तेज़ विकास समय, आसान रखरखाव और विस्तार में आसानी प्र

  1. - Python में क्लास मेथड्स को कैसे ओवरराइड करें?

    ओवरराइडिंग एक क्लास की संपत्ति है जो उसके बेस क्लासेस में से एक द्वारा प्रदान किए गए मेथड के कार्यान्वयन को बदल देती है। ओवरराइडिंग OOP का एक बहुत महत्वपूर्ण हिस्सा है क्योंकि यह इनहेरिटेंस को इसकी पूरी शक्ति का उपयोग करने देता है। मेथड ओवरराइडिंग का उपयोग करके एक क्लास दूसरी क्लास को कॉपी कर सकती ह