Magic Methods (__str__, __repr__, आदि)
Objects के व्यवहार को अनुकूलित करने वाली Python की विशेष Methods का गहन अध्ययन करें
Magic Methods (__str__, __repr__, आदि), CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 6 में से 6वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 6 पाठ शामिल हैं।
मैजिक विधियों का परिचय
मैजिक विधियाँ, जिन्हें डंडर विधियाँ भी कहा जाता है ('डबल अंडरस्कोर' का संक्षिप्त रूप), पाइथन की विशेष विधियाँ हैं, जो आपको यह परिभाषित करने देती हैं कि विशेष परिस्थितियों में वस्तुएँ कैसे व्यवहार करेंगी।
इस पाठ में आप __str__, __repr__ जैसी सामान्य मैजिक विधियों और अन्य विधियों का उपयोग करना सीखेंगे।

मैजिक विधियाँ क्या हैं?
मैजिक विधियाँ Python में पूर्वनिर्धारित विधियाँ होती हैं, जिन्हें ऑब्जेक्ट पर विशिष्ट संक्रियाएँ किए जाने पर अपने-आप बुलाया जाता है। इनकी पहचान दो अंडरस्कोर से होती है, जैसे __init__ या __str__।
__init__ विधि
__init__ विधि एक कंस्ट्रक्टर है, जो नई वस्तु को प्रारंभ करता है। वस्तु बनाए जाने पर इसे अपने-आप कॉल किया जाता है:
# 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__ विधि
__str__ विधि यह परिभाषित करती है कि 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__ विधि
__repr__ विधि किसी वस्तु का आधिकारिक स्ट्रिंग निरूपण प्रदान करती है, जिसका उपयोग अक्सर डीबगिंग के लिए किया जाता है:
# 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)मैजिक विधियों with ऑपरेटरों को ओवरलोड करना
आप + या == जैसे ऑपरेटरों के व्यवहार को अनुकूलित करने के लिए मैजिक विधियों का उपयोग कर सकते हैं:
# 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)आमतौर पर उपयोग की जाने वाली मैजिक विधियाँ
यहाँ आमतौर पर उपयोग की जाने वाली कुछ मैजिक विधियाँ दी गई हैं:
__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मैजिक विधियों से जुड़ी सामान्य गलतियाँ
इन गलतियों से बचें:
- मैजिक विधि के निर्धारित व्यवहार से मेल न खाने वाली परिभाषा देना।
- अनावश्यक रूप से ऑपरेटरों को ओवरलोड करना।
- कस्टम डेटा प्रकारों में आवश्यक मैजिक विधियों को लागू करना भूल जाना।
हमने क्या सीखा?
इस पाठ में आपने सीखा:
- मैजिक विधियाँ क्या हैं और वे उपयोगी क्यों हैं।
__init__,__str__और__repr__जैसी सामान्य मैजिक विधियों का उपयोग कैसे किया जाता है।- मैजिक विधियों का उपयोग करके ऑपरेटरों को कैसे ओवरलोड किया जाता है।
बहुत अच्छा! अब अगले विषय पर चलते हैं।

एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 53
- पाठ
- 225
अक्सर पूछे जाने वाले प्रश्न
क्या “Magic Methods (__str__, __repr__, आदि)” पाठ निःशुल्क है?
हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Magic Methods (__str__, __repr__, आदि)” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 6 पाठ शामिल हैं।
“Magic Methods (__str__, __repr__, आदि)” में मैं क्या सीखूँगा?
Objects के व्यवहार को अनुकूलित करने वाली Python की विशेष Methods का गहन अध्ययन करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 6 में से 6वाँ पाठ है।
“Magic Methods (__str__, __repr__, आदि)” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Classes और Objects
- Attributes और Methods
- Inheritance
- Polymorphism
- Encapsulation और Abstraction
- Magic Methods (__str__, __repr__, आदि)