Магические методы (также известные как "дандеровские" методы, от англ. "dunder" - double underscore) - это специальные методы в Python, имена которых начинаются и заканчиваются двойными подчеркиваниями (например, __init__, __str__, __add__). Они не вызываются напрямую, а используются Python для реализации синтаксиса и функциональности.
Например:
__init__: конструктор класса, вызывается при создании нового объекта.__str__: определяет строковое представление объекта, вызывается функцией str().__len__: определяет длину объекта, вызывается функцией len().__add__: определяет поведение оператора сложения (+) для объектов данного класса.Магические методы позволяют вашим классам взаимодействовать с встроенными функциями и операторами Python, делая их более "питоническими" и интуитивно понятными.
python
Магические методы являются фундаментальной частью объектно-ориентированного программирования в Python и позволяют создавать мощные и гибкие структуры данных и классы.