Встречается на собеседованиях • сегодня

Как создать оператор в Python

В Python нельзя создать новые операторы напрямую, но можно перегрузить существующие с помощью специальных методов (магических методов). Например, для арифметических операторов:

python
class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    
    def __add__(self, other):  # перегрузка оператора +
        return Vector(self.x + other.x, self.y + other.y)
    
    def __str__(self):
        return f"Vector({self.x}, {self.y})"

v1 = Vector(1, 2)
v2 = Vector(3, 4)
print(v1 + v2) # Vector(4, 6)

text

Основные магические методы для операторов:
- `__add__` (+)
- `__sub__` (-)
- `__mul__` (*)
- `__truediv__` (/)
- `__eq__` (==)
- `__lt__` (<) и т.д.

Для создания совершенно нового синтаксиса потребуется модификация интерпретатора Python, что не рекомендуется.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы