Course Content
In-Depth Python OOP
In-Depth Python OOP
What are magic methods?
Python is a very flexible programming language, and the magic methods provide this flexibility.
Magic Methods are methods with specific syntax that provide functionality for different operations in Python.
For example:
The a + b
operator invokes the __add__()
magic method of the first object (a.__add__(b)
). In Python, operators like +
call the corresponding magic methods of the objects involved. The __init__
magic method is called when an instance of a class is created.
Note
Magic methods have a specific syntax where the method name is enclosed in double underscores (
__
) at start and end of method name.
Let's take a look at an example implementation of the __add__
magic method:
class Road: def __init__(self, length): self.length = length def __add__(self, other_road): return Road(self.length + other_road.length) road_1 = Road(20) road_2 = Road(30) road_3 = road_1 + road_2 # road_3 = road_1.__add__(road_2) print(type(road_3)) print(road_3.length)
Thanks for your feedback!