Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में ओवरलोडिंग ऑपरेटर

मान लीजिए कि आपने दो-आयामी वैक्टर का प्रतिनिधित्व करने के लिए एक वेक्टर वर्ग बनाया है, तो क्या होता है जब आप उन्हें जोड़ने के लिए प्लस ऑपरेटर का उपयोग करते हैं? सबसे अधिक संभावना है कि पायथन आप पर चिल्लाएगा।

हालांकि, आप वेक्टर जोड़ करने के लिए अपनी कक्षा में __add__ विधि को परिभाषित कर सकते हैं और फिर प्लस ऑपरेटर अपेक्षा के अनुसार व्यवहार करेगा -

उदाहरण

#!/usr/bin/python
class Vector:
   def __init__(self, a, b):
      self.a = a
      self.b = b
   def __str__(self):
      return 'Vector (%d, %d)' % (self.a, self.b)
   def __add__(self,other):
      return Vector(self.a + other.a, self.b + other.b)
v1 = Vector(2,10)
v2 = Vector(5,-2)
print v1 + v2

आउटपुट

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

Vector(7,8)

  1. पायथन में विरासत

    इस लेख में, हम पायथन 3.x में इनहेरिटेंस और एक्सटेंडिंग क्लासेस सीखेंगे। या पहले। वंशानुक्रम वास्तविक दुनिया के संबंधों का अच्छी तरह से प्रतिनिधित्व करता है, पुन:प्रयोज्य प्रदान करता है और पारगमन का समर्थन करता है। यह तेजी से विकास समय, आसान रखरखाव और विस्तार में आसान प्रदान करता है। वंशानुक्रम को

  1. पायथन तुलना ऑपरेटरों को कैसे अधिभारित करें?

    पायथन में ऑपरेटरों के अतिभारित व्यवहार को परिभाषित करने के लिए जादुई तरीके हैं। तुलना ऑपरेटरों (<, =, ==और !=) को __lt__, __le__, __gt__, __ge__, __eq__ और __ne__ जादू विधियों को परिभाषा प्रदान करके अतिभारित किया जा सकता है। =ऑपरेटर्स दूरी वर्ग की वस्तुओं की तुलना करने के लिए। class distance:  

  1. पायथन में ओवरलोडिंग ऑपरेटर कैसे काम करता है?

    हम जानते हैं कि हम संख्याओं को जोड़ने के लिए और साथ ही स्ट्रिंग को जोड़ने के लिए + ऑपरेटर का उपयोग कर सकते हैं। यह संभव है क्योंकि + ऑपरेटर को इंट क्लास और स्ट्र क्लास दोनों द्वारा ओवरलोड किया जाता है। ऑपरेटर मूल रूप से संबंधित वर्गों में परिभाषित विधियां हैं। ऑपरेटरों के लिए परिभाषित विधियों को ऑपर