কম্পিউটার

পাইথনে ওভারলোডিং অপারেটর


ধরুন আপনি দ্বি-মাত্রিক ভেক্টরের প্রতিনিধিত্ব করার জন্য একটি ভেক্টর ক্লাস তৈরি করেছেন, আপনি যখন প্লাস অপারেটর ব্যবহার করেন তখন কী হবে? সম্ভবত পাইথন আপনাকে চিৎকার করবে।

যাইহোক, আপনি ভেক্টর যোগ করার জন্য আপনার ক্লাসে __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. পাইথনে উত্তরাধিকার

  2. আমরা কিভাবে পাইথন অপারেটর একাধিক অপারেন্ডের সাথে ওভারলোডিং করতে পারি?

  3. পাইথন তুলনা অপারেটর ওভারলোড কিভাবে?

  4. পাইথনে ওভারলোডিং অপারেটররা কীভাবে কাজ করে?