__repr__: The __repr__ method is another special method in Python that is used to provide a string representation of an object, typically for debugging purposes. It should return a string that, if evaluated, would create an equivalent object.
Operator Overloading: Operator overloading is the ability to define how operators (such as +, -, *, /) work with objects of a custom class. This is done by implementing special methods like __add__, __sub__, __mul__, etc.
Inheritance: Inheritance is a fundamental concept in object-oriented programming where a new class is created based on an existing class. The new class inherits the attributes and methods of the existing class, allowing for code reuse and polymorphism.