 GeeksforGeeks App
Open App Browser
Continue

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
```

My Personal Notes arrow_drop_up