Определение операций в классе.
24.01.2025 - Практическая работа №6. Определение операций в классе.
В Python можно переопределять стандартные операции (например, сложение, вычитание и сравнение) для объектов пользовательских классов. Это делается с помощью специальных методов, таких как __add__
, __sub__
, __eq__
и других.
Пример 1: Перегрузка операции сложения (__add__
)
__add__
)Объяснение
__init__(self, x, y)
— инициализируем координаты вектора.__add__(self, other)
— переопределяем операцию сложения для двух объектовVector
. Сложение выполняется покоординатно.__repr__(self)
— возвращает строку, которая описывает объект в удобном виде.
Тестирование
Пример 2: Перегрузка операции сравнения (__eq__
)
__eq__
)Объяснение
__init__(self, x, y)
— инициализируем координаты точки.__eq__(self, other)
— определяем, что точки равны, если их координаты совпадают.__repr__(self)
— возвращает удобное текстовое представление точки.
Тестирование
Пример 3: Перегрузка операции умножения (__mul__
)
__mul__
)Объяснение
__init__(self, values)
— инициализируем значения матрицы.__mul__(self, other)
— переопределяем умножение матрицы на скаляр (число). Каждый элемент матрицы умножается наother
.__repr__(self)
— возвращает текстовое представление матрицы.
Тестирование
Результаты
Пример 1: Векторы корректно складываются по координатам, и результат выводится в виде нового объекта.
Пример 2: Сравнение точек выполняется корректно — точки считаются равными, если их координаты совпадают.
Пример 3: Матрица корректно умножается на скаляр, возвращая новую матрицу с результатами умножения.
Last updated