एक वर्ग विधि वर्ग को अपने पहले तर्क के रूप में प्राप्त करती है। इस तरह हम क्लास से इंस्टेंस बनाए बिना क्लास के अंदर मेथड को कॉल कर सकते हैं। हम कक्षा में निहित विधि की घोषणा से पहले डेकोरेटर @classmethod का उपयोग करते हैं और फिर हम सीधे विधि तक पहुंच सकते हैं। क्लासमेथिड्स की मुख्य विशेषताएं नीचे दी गई हैं।
-
एक वर्ग विधि एक वर्ग के लिए बाध्य है और उपयोग की जाने वाली कक्षा की तात्कालिकता पर निर्भर नहीं करती है।
-
एक क्लासमेथोड एक वर्ग को संशोधित कर सकता है जो बदले में कक्षा के सभी उदाहरणों के लिए प्रचारित करता है।
वर्ग विधि का उपयोग करना
नीचे दिए गए उदाहरण में हम वीकडे नामक एक क्लास बनाते हैं और उसमें डेनेम्स नामक एक विधि बनाते हैं। फिर हम इस विधि को पहले क्लास को इंस्टेंट किए बिना एक्सेस करते हैं, जिसका अर्थ है कि क्लास से कोई ऑब्जेक्ट बनाए बिना।
उदाहरण
class WeekDay: day_name = ['Mon','Tue','Wed','Thu','Fri'] # Applying the class method @classmethod def daynames(n): print('The WeekDays are', n.day_name) WeekDay.daynames() # OR WeekDay().daynames()
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
वर्ग पद्धति का उपयोग किए बिना
बिना क्लासमेथड के समान परिणाम प्राप्त करने के लिए हम क्लास के बिना मेथड घोषित कर सकते हैं। यह उस कारण को दर्शाता है जिसके लिए हमें वर्ग विधि की आवश्यकता है।
उदाहरण
def daynames(): day_name = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] print('The WeekDays are', day_name) daynames()
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The WeekDays are ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']