
Перегрузка операторов
Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими.
Например, выше в классе
Для перегрузки оператора
Таким образом, когда разработчик пишет запись
#классы
Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими.
Например, выше в классе
Point
мы определили __str__
, который отвечает за то, как выводятся объекты класса на экран.Для перегрузки оператора
"+"
нужно определить метод __add__
. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.Таким образом, когда разработчик пишет запись
p1 + p2
, интерпретатор воспринимает это в виде Point.__add__(p1, p2)
. Для всех операторов в языке, включая и логические, есть свои магические методы. #классы