हम जानते हैं कि हम संख्याओं को जोड़ने के लिए और साथ ही स्ट्रिंग को जोड़ने के लिए + ऑपरेटर का उपयोग कर सकते हैं। यह संभव है क्योंकि + ऑपरेटर को इंट क्लास और स्ट्र क्लास दोनों द्वारा ओवरलोड किया जाता है। ऑपरेटर मूल रूप से संबंधित वर्गों में परिभाषित विधियां हैं। ऑपरेटरों के लिए परिभाषित विधियों को ऑपरेटर ओवरलोडिंग के रूप में जाना जाता है। उदाहरण के लिए कस्टम ऑब्जेक्ट के साथ + ऑपरेटर का उपयोग करने के लिए हमें __add__ नामक एक विधि को परिभाषित करने की आवश्यकता है।
उदाहरण
निम्नलिखित कोड से यह समझना आसान हो जाता है कि ऑपरेटर ओवरलोडिंग कैसे काम करता है
import math class Circle: def __init__(self, radius): self.__radius = radius def setRadius(self, radius): self.__radius = radius def getRadius(self): return self.__radius def area(self): return math.pi * self.__radius ** 2 def __add__(self, another_circle): return Circle( self.__radius + another_circle.__radius ) c1 = Circle(3) print(c1.getRadius()) c2 = Circle(6) print(c2.getRadius()) c3 = c1 + c2 # This is because we have overloaded + operator by adding a method __add__ print(c3.getRadius())एक विधि जोड़कर + ऑपरेटर को ओवरलोड किया है
आउटपुट
यह आउटपुट देता है
3 6 9
एक ऑपरेटर के व्यवहार को संशोधित करना ताकि वह उपयोगकर्ता द्वारा परिभाषित प्रकारों के साथ काम करे, ऑपरेटर ओवरलोडिंग कहलाता है। पायथन में प्रत्येक ऑपरेटर के लिए एक विशेष विशेष विधि है, जैसे __add__। अधिक विवरण के लिए, देखें docs.python.org/ref/specialnames.html.