Discuss operator overloading. Mention any five operators with respective special functions to be overloaded in Python

Operator Overloading

  • Operator overloading allows user-defined classes to redefine the behavior of operators like +, -, *, etc.
  • This is done by defining special methods inside the class.

Example: Overloading + for Time class (from 17.7)

class Time:
    def __add__(self, other):
        seconds = self.time_to_int() + other.time_to_int()
        return int_to_time(seconds)

Usage:

start = Time(9, 45)
duration = Time(1, 35)
print(start + duration)  # Output: 11:20:00

Python internally calls start.__add__(duration).


Five Common Operators and Their Special Methods

OperatorSpecial MethodUsage Example
+__add__(self, other)a + b
-__sub__(self, other)a - b
*__mul__(self, other)a * b
==__eq__(self, other)a == b
<__lt__(self, other)a < b

These methods can be defined in custom classes to perform operations based on object data instead of default behavior.

Leave a Reply

Your email address will not be published. Required fields are marked *