पायथन में इंस्टेंस बनाम स्टेटिक बनाम क्लास मेथड्स: महत्वपूर्ण अंतर

पायथन में इंस्टेंस बनाम स्टेटिक बनाम क्लास मेथड्स: महत्वपूर्ण अंतर

एक बार जब आप ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) में आ जाते हैं, तो पायथन के तरीके अक्सर भ्रमित करने वाले हो सकते हैं। इस गाइड में पायथन में तीन मुख्य प्रकार की विधियों को शामिल किया गया है।





पायथन में 3 प्रकार के तरीके

पायथन में तीन प्रकार की विधियाँ हैं: उदाहरण के तरीके , स्थिर तरीके , तथा कक्षा के तरीके .





बुनियादी पायथन लिपियों को कोड करने के लिए मतभेदों को जानना हमेशा आवश्यक नहीं होता है, लेकिन एक बार जब आप ओओपी में आगे बढ़ जाते हैं, तो अंतर एक बड़ा बदलाव ला सकते हैं।





यदि आप पायथन के लिए नए हैं, या कुछ भी स्थापित किए बिना प्रयोग करना चाहते हैं, तो सुनिश्चित करें कि आप इन पर जाएँ ऑनलाइन इंटरैक्टिव पायथन गोले .

शुरू करने से पहले: डेकोरेटर पैटर्न को समझना

मतभेदों को देखने से पहले, एक डिज़ाइन पैटर्न को समझना महत्वपूर्ण है जिसे के रूप में जाना जाता है डेकोरेटर पैटर्न , या बस a . कहा जाता है डेकोरेटर .



सज्जाकार जटिल लगते हैं, लेकिन डरने की कोई बात नहीं है। सज्जाकार केवल कार्य हैं। आप उन्हें स्वयं लिख सकते हैं, या पुस्तकालयों, या पायथन मानक पुस्तकालय में शामिल लोगों का उपयोग कर सकते हैं।

किसी भी समारोह की तरह, सज्जाकार एक कार्य करते हैं। यहां अंतर यह है कि सज्जाकार तर्क लागू करते हैं या अन्य कार्यों के व्यवहार को बदलते हैं। वे कोड का पुन: उपयोग करने का एक शानदार तरीका हैं, और तर्क को अलग-अलग चिंताओं में अलग करने में मदद कर सकते हैं।





डेकोरेटर पैटर्न स्थिर या वर्ग विधियों को परिभाषित करने का पायथन का पसंदीदा तरीका है। यहाँ एक पायथन में कैसा दिखता है:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is decorated! '''
print('I'm a decorated function!')

de = DecoratorExample()
de.example_function()

सज्जाकारों को तुरंत एक समारोह या वर्ग घोषणा से पहले होना चाहिए। वे से शुरू करते हैं @ साइन, और सामान्य तरीकों के विपरीत, आपको अंत में कोष्ठक लगाने की ज़रूरत नहीं है जब तक कि आप तर्कों में पारित नहीं कर रहे हैं।





कई सज्जाकारों को जोड़ना, अपना खुद का लिखना और उन्हें कक्षाओं में भी लागू करना संभव है, लेकिन इन उदाहरणों के लिए आपको इनमें से कुछ भी करने की आवश्यकता नहीं होगी।

Apple वॉच पर जगह खाली करें

पायथन में इंस्टेंस मेथड्स

पायथन कक्षाओं में इंस्टेंस विधियाँ सबसे सामान्य प्रकार की विधियाँ हैं। इन्हें इसलिए कहा जाता है क्योंकि वे अपने उदाहरण के अद्वितीय डेटा तक पहुंच सकते हैं। यदि आपके पास कार वर्ग से बनाई गई दो वस्तुएं हैं, तो उनमें से प्रत्येक में अलग-अलग गुण हो सकते हैं। उनके पास अलग-अलग रंग, इंजन आकार, सीटें आदि हो सकते हैं।

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

अंत में, उदाहरण के तरीके सबसे आम हैं, इसलिए किसी डेकोरेटर की आवश्यकता नहीं है। आपके द्वारा बनाई गई कोई भी विधि स्वचालित रूप से एक इंस्टेंस विधि के रूप में बनाई जाएगी, जब तक कि आप अन्यथा पाइथन को नहीं बताते।

यहाँ एक उदाहरण है:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
self.name = 'Decorator_Example'
def example_function(self):
''' This method is an instance method! '''
print('I'm an instance method!')
print('My name is ' + self.name)

de = DecoratorExample()
de.example_function()

NS नाम चर के माध्यम से पहुँचा जाता है स्वयं . ध्यान दें कि जब उदाहरण_फ़ंक्शन कहा जाता है, आपको स्वयं को पास करने की आवश्यकता नहीं है --- पायथन यह आपके लिए करता है।

पायथन में स्थिर तरीके

स्थैतिक विधियाँ वे विधियाँ हैं जो किसी न किसी तरह से किसी वर्ग से संबंधित होती हैं, लेकिन किसी वर्ग-विशिष्ट डेटा तक पहुँचने की आवश्यकता नहीं होती है। आपको उपयोग करने की आवश्यकता नहीं है स्वयं , और आपको किसी इंस्टेंस को इंस्टेंट करने की भी आवश्यकता नहीं है, आप बस अपनी विधि को कॉल कर सकते हैं:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is a static method! '''
print('I'm a static method!')

de = DecoratorExample.example_function()

NS @staticmethod डेकोरेटर का उपयोग पायथन को यह बताने के लिए किया गया था कि यह विधि एक स्थिर विधि है।

उपयोगिता कार्यों के लिए स्थैतिक विधियां महान हैं, जो अलगाव में कार्य करती हैं। उन्हें कक्षा डेटा तक पहुंचने (और नहीं कर सकते) की आवश्यकता नहीं है। उन्हें पूरी तरह से स्व-निहित होना चाहिए, और केवल तर्क के रूप में पारित डेटा के साथ काम करना चाहिए। आप दो संख्याओं को एक साथ जोड़ने के लिए एक स्थिर विधि का उपयोग कर सकते हैं, या किसी दिए गए स्ट्रिंग को प्रिंट कर सकते हैं।

पायथन में कक्षा के तरीके

कक्षा विधियाँ जानने के लिए तीसरी और अंतिम OOP विधि प्रकार हैं। कक्षा के तरीके उनकी कक्षा के बारे में जानते हैं। वे विशिष्ट इंस्टेंस डेटा तक नहीं पहुंच सकते हैं, लेकिन वे अन्य स्थिर विधियों को कॉल कर सकते हैं।

कक्षा विधियों की आवश्यकता नहीं है स्वयं एक तर्क के रूप में, लेकिन उन्हें एक पैरामीटर की आवश्यकता होती है जिसे कहा जाता है सीएलएस . इसका मतलब है कक्षा , और स्वयं की तरह, स्वचालित रूप से पायथन द्वारा पारित हो जाता है।

वर्ग विधियों का उपयोग करके बनाया जाता है @classmethod डेकोरेटर

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@classmethod
def example_function(cls):
''' This method is a class method! '''
print('I'm a class method!')
cls.some_other_function()
@staticmethod
def some_other_function():
print('Hello!')

de = DecoratorExample()
de.example_function()

वर्ग विधियाँ संभवतः तीनों में से अधिक भ्रमित करने वाली विधि प्रकार हैं, लेकिन उनके अपने उपयोग हैं। वर्ग विधियाँ कक्षा में ही हेरफेर कर सकती हैं, जो तब उपयोगी होती है जब आप बड़ी, अधिक जटिल परियोजनाओं पर काम कर रहे होते हैं।

प्रत्येक विधि प्रकार का उपयोग कब करें

यह एक कठिन और कठिन निर्णय की तरह लग सकता है कि पायथन में तरीकों के प्रकार के बीच चयन करना है, लेकिन आप जल्द ही इसे थोड़ा अभ्यास के साथ लटका लेंगे।

यूएसबी डिवाइस डिस्क्रिप्टर विफल विंडोज़ 10

यहां तक ​​​​कि अगर आप केवल मनोरंजन के लिए छोटी स्क्रिप्ट लिखते हैं, तो पाइथन की एक और ओओपी विशेषता सीखना एक महान कौशल है, और आपके कोड को समस्या निवारण में आसान बनाने में मदद कर सकता है, और भविष्य में पुन: उपयोग करना आसान हो सकता है।

सारांश:

  1. उदाहरण के तरीके: सबसे आम विधि प्रकार। प्रत्येक उदाहरण के लिए अद्वितीय डेटा और गुणों तक पहुँचने में सक्षम।
  2. स्थैतिक तरीके: कक्षा में और कुछ भी एक्सेस नहीं कर सकता। पूरी तरह से स्व-निहित कोड।
  3. कक्षा के तरीके: कक्षा में सीमित तरीकों तक पहुँच सकते हैं। कक्षा विशिष्ट विवरण संशोधित कर सकते हैं।

यदि यह ट्यूटोरियल थोड़ा उन्नत था, या आप जो खोज रहे थे वह काफी नहीं था, तो क्यों न इन पाठ्यक्रमों पर एक नज़र डालें, जो कि पायथन बिगिनर से प्रो तक जाने के लिए है? ये 5 वेबसाइटें Python शुरुआती लोगों के लिए भी बहुत अच्छी हैं। यदि आप पायथन का भौतिक, वास्तविक विश्व उपयोग चाहते हैं, लेकिन रास्पबेरी पाई से ऊब चुके हैं, तो हमारे गाइड के बारे में क्या? पायथन के साथ Arduino को नियंत्रित करना ?

साझा करना साझा करना कलरव ईमेल कमांड प्रॉम्प्ट का उपयोग करके अपने विंडोज पीसी को कैसे साफ करें

यदि आपका विंडोज पीसी स्टोरेज स्पेस पर कम चल रहा है, तो इन फास्ट कमांड प्रॉम्प्ट यूटिलिटीज का उपयोग करके जंक को साफ करें।

आगे पढ़िए
संबंधित विषय
  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • अजगर
लेखक के बारे में जो कोबर्न(136 लेख प्रकाशित)

जो ब्रिटेन के लिंकन विश्वविद्यालय से कंप्यूटर विज्ञान में स्नातक हैं। वह एक पेशेवर सॉफ्टवेयर डेवलपर है, और जब वह ड्रोन नहीं उड़ा रहा है या संगीत नहीं लिख रहा है, तो उसे अक्सर तस्वीरें लेते या वीडियो बनाते हुए पाया जा सकता है।

जो कोबर्न . की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें