क्लास बनाम इंस्टेंस मेथड्स
पायथन की पीईपी 8 स्टाइल गाइड उदाहरण विधि के पहले तर्कों के लिए "स्वयं" और क्लास के लिए "सीएलएस" का उपयोग करने की सलाह देती है। विधि प्रथम तर्क. प्रभावी ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के लिए इन दो प्रकार के तरीकों के बीच अंतर को समझना महत्वपूर्ण है।
इंस्टेंस मेथड्स एक वर्ग के विशिष्ट उदाहरणों से जुड़े होते हैं। वे इंस्टेंस के डेटा पर काम करते हैं और आम तौर पर अपने पहले तर्क के रूप में "स्वयं" प्राप्त करते हैं। उदाहरण के लिए, object.method() जैसे इंस्टेंस मेथड को एक्सेस करते समय, इंस्टेंस स्वचालित रूप से मेथड में पास हो जाता है।
उदाहरण के लिए, निम्नलिखित क्लास परिभाषा पर विचार करें:
class Person:
def __init__(self, name):
self.name = name
def greet(self):
print("Hello, my name is", self.name)
यहां, "greet()" एक इंस्टेंस विधि है जिसे "object.greet() के साथ "Person" वर्ग के किसी भी इंस्टेंस पर लागू किया जा सकता है। )"।
दूसरी ओर, क्लास मेथड्स व्यक्तिगत उदाहरणों के बजाय क्लास से ही जुड़े होते हैं। उन्हें अपने पहले तर्क के रूप में "cls" प्राप्त होता है, जो वर्ग का प्रतिनिधित्व करता है। क्लास विधियों का उपयोग उन कार्यों के लिए किया जाता है जो संपूर्ण रूप से क्लास से संबंधित होते हैं, जैसे नए उदाहरण बनाना या क्लास-स्तरीय डेटा तक पहुँचना।
निम्न कोड स्निपेट एक क्लास विधि को दर्शाता है:
class Math:
@classmethod
def sum(cls, a, b):
return a b
"Math.sum()" विधि दो तर्क लेती है जिन्हें एक साथ जोड़ा जाता है और लौटाया जाता है। चूंकि यह एक क्लास विधि है, आप परिणाम प्राप्त करने के लिए इसे सीधे Math.sum(1, 2) के रूप में लागू कर सकते हैं।
इंस्टेंस और क्लास विधियों के बीच अंतर को समझकर, डेवलपर्स ऑब्जेक्ट की पूर्ण क्षमताओं का प्रभावी ढंग से लाभ उठा सकते हैं पायथन में -ओरिएंटेड प्रोग्रामिंग।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3