Operator Overloading refers to using the same operator to perform different tasks by passing different types of data as arguments. To understand how ‘+’ operator works in two different ways in python let us take the following example
Python3
# taking two numbers a = 2 b = 3 # using '+' operator add them c = a+b # printing the result print("The sum of these two numbers is ", c)
Output:
The sum of these two numbers is 5
In this example we used ‘+’ operator to add numbers, now let us take one more example to understand how ‘+’ operator is used to concatenate strings.
Python3
# taking two strings from the user a = 'abc' b = 'def' # using '+' operator concatenate them c = a+b # printing the result print("After Concatenation the string becomes", c)
Output:
After Concatenation the string becomes abcdef
For a better understanding of operator overloading, here is an example where a common method is used for both purposes.
Python3
# let us define a class with add method class operatoroverloading: def add(self, a, b): self.c = a+b return self.c # creating an object of class obj = operatoroverloading() # using add method by passing integers # as argument result = obj.add(23, 9) print("sum is", result) # using same add method by passing strings # as argument result = obj.add("23", "9") print("Concatenated string is", result)
Output:
sum is 32 Concatenated string is 239