В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.
На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор
+ как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.
Гайды по Python

