Python Academy · पाठ

मैजिक विधियाँ (__str__, __repr__, आदि)

ऑब्जेक्ट के व्यवहार को अनुकूलित करने वाली Python की विशेष विधियों का गहन अध्ययन करें

पाठ 6, कुल 6 में से11 चरण

मैजिक विधियाँ (__str__, __repr__, आदि), CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 6 में से 6वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 6 पाठ शामिल हैं।

विशेष methods का परिचय

विशेष methods, जिन्हें डबल-अंडरस्कोर methods भी कहा जाता है (यह नाम 'डबल अंडरस्कोर' का संक्षिप्त रूप है), पाइथन में मौजूद ऐसे विशेष methods हैं जो आपको विशिष्ट परिस्थितियों में वस्तुओं के व्यवहार को परिभाषित करने देते हैं।

इस पाठ में आप __str__, __repr__ और अन्य सामान्य विशेष methods का उपयोग करना सीखेंगे।

मैजिक विधियाँ (__str__, __repr__, आदि) — चित्र 1

विशेष methods क्या हैं

विशेष methods क्या हैं?

विशेष methods पाइथन में पहले से परिभाषित methods हैं, जिन्हें वस्तुओं पर विशिष्ट संचालन किए जाने पर स्वतः बुलाया जाता है। इन्हें उनके दोहरे अंडरस्कोर से पहचाना जाता है, जैसे __init__ या __str__।

__init__ method

__init__ method एक कंस्ट्रक्टर है जो नई वस्तु को प्रारंभ करता है। वस्तु बनाए जाने पर इसे स्वतः बुलाया जाता है:

# Using the __init__ method to initialize attributes
class Person:
    def __init__(self, name, age):
        self.name = name  # Initialize the name attribute
        self.age = age  # Initialize the age attribute

# Creating an instance of Person
person = Person("Alice", 30)
print(person.name, person.age)  # Outputs: Alice 30

__str__ method

__str__ method यह परिभाषित करता है कि print() बुलाए जाने पर किसी वस्तु का स्ट्रिंग निरूपण कैसा होगा:

# Defining the __str__ method
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"Name: {self.name}, Age: {self.age}"  # String representation

person = Person("Alice", 30)
print(person)  # Outputs: Name: Alice, Age: 30

__repr__ method

__repr__ method किसी वस्तु का आधिकारिक स्ट्रिंग निरूपण उपलब्ध कराता है, जिसका उपयोग अक्सर डीबगिंग के लिए किया जाता है:

# Defining the __repr__ method
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Person('{self.name}', {self.age})"  # Debug-friendly representation

person = Person("Alice", 30)
print(repr(person))  # Outputs: Person('Alice', 30)

विशेष methods से ऑपरेटरों को अधिभारित करना

आप + या == जैसे ऑपरेटरों के व्यवहार को अनुकूलित करने के लिए विशेष methods का उपयोग कर सकते हैं:

# Overloading the + operator with __add__
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)  # Adding two points

    def __str__(self):
        return f"({self.x}, {self.y})"

point1 = Point(1, 2)
point2 = Point(3, 4)
result = point1 + point2  # Calls __add__
print(result)  # Outputs: (4, 6)

सामान्यतः उपयोग किए जाने वाले विशेष methods

यहाँ कुछ सामान्यतः उपयोग किए जाने वाले विशेष methods दिए गए हैं:

  • __len__: len() फ़ंक्शन के व्यवहार को परिभाषित करता है।
  • __getitem__: सूची या शब्दकोश की तरह अनुक्रमण की सुविधा देता है।
  • __eq__: == का उपयोग करके समानता तुलना को अनुकूलित करता है।

__len__ और __getitem__ का उपयोग

आप किसी अनुकूलित वस्तु की लंबाई परिभाषित करने के लिए __len__ और उसे अनुक्रमण योग्य बनाने के लिए __getitem__ का उपयोग कर सकते हैं:

# Using __len__ and __getitem__ in a custom class
class CustomList:
    def __init__(self, items):
        self.items = items

    def __len__(self):
        return len(self.items)  # Defines the behavior of len()

    def __getitem__(self, index):
        return self.items[index]  # Enables indexing

custom_list = CustomList([1, 2, 3])
print(len(custom_list))  # Outputs: 3
print(custom_list[1])  # Outputs: 2

विशेष methods की सामान्य गलतियाँ

यहाँ कुछ ऐसी गलतियाँ दी गई हैं जिनसे बचना चाहिए:

  • किसी विशेष method को उसके निर्धारित व्यवहार के अनुरूप न परिभाषित करना।
  • बिना आवश्यकता ऑपरेटरों को अधिभारित करना।
  • अनुकूलित डेटा प्रकारों में आवश्यक विशेष methods को implementing करना भूल जाना।

हमने क्या सीखा

हमने क्या सीखा?

इस पाठ में आपने सीखा:

  • विशेष methods क्या हैं और वे उपयोगी क्यों हैं।
  • __init__, __str__ और __repr__ जैसे सामान्य विशेष methods का उपयोग कैसे किया जाता है।
  • विशेष methods का उपयोग करके ऑपरेटरों को अधिभारित करना।

बहुत अच्छा! अब अगले विषय पर चलते हैं।

मैजिक विधियाँ (__str__, __repr__, आदि) — चित्र 11
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “मैजिक विधियाँ (__str__, __repr__, आदि)” पाठ निःशुल्क है?

हाँ—“मैजिक विधियाँ (__str__, __repr__, आदि)” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 6 पाठ शामिल हैं।

“मैजिक विधियाँ (__str__, __repr__, आदि)” में मैं क्या सीखूँगा?

ऑब्जेक्ट के व्यवहार को अनुकूलित करने वाली Python की विशेष विधियों का गहन अध्ययन करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 6 में से 6वाँ पाठ है।

“मैजिक विधियाँ (__str__, __repr__, आदि)” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. क्लास और ऑब्जेक्ट
  2. एट्रिब्यूट और विधियाँ
  3. इनहेरिटेंस
  4. पॉलीमॉर्फ़िज़्म
  5. एनकैप्सुलेशन और एब्स्ट्रैक्शन
  6. मैजिक विधियाँ (__str__, __repr__, आदि)
← Python Academy पर वापस जाएँ