A constructor is a special method (function) definition within a class. The constructor method is executed when an object is created, that is if the class has a constructor. If a constructor is not defined, it is automatically defined to be an empty function. In Python, it is only possible to have one constructor, which uses the special name -
```python
__init__(self)
```
and is defined under class variables in the class definition. In Python, we are only allowed to have one constructor, since function overloading is not used in the language. We can define a function with the same name multiple times but Python will use the function which was defined last, we can see it as overriding the previous function.