Курс Python → Метод add для класса Vector
Метод add(self, other) в Python позволяет определить поведение объекта при использовании оператора сложения +. Этот метод полезен при работе с пользовательскими типами данных, такими как векторы, матрицы и другие структуры данных, где определение операции сложения имеет смысл.
В приведенном примере, если операнд other также является объектом типа Vector, мы складываем соответствующие координаты векторов и возвращаем новый объект Vector, представляющий сумму. Если other не является вектором, мы вызываем исключение TypeError, указывая, что операция не поддерживается.
Переопределение метода add позволяет объекту поддерживать стандартную математическую операцию сложения в Python. Это удобно, так как позволяет работать с объектами более естественным образом, как если бы они были встроенными типами данных.
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def add(self, other):
if isinstance(other, Vector):
return Vector(self.x + other.x, self.y + other.y)
else:
raise TypeError("Unsupported operation")
В данном примере мы создаем класс Vector, у которого есть метод add, который определяет поведение сложения векторов. Если операнд other является объектом типа Vector, мы создаем новый вектор с соответствующими суммированными координатами. Если other не является вектором, то выбрасываем исключение TypeError.
Другие уроки курса "Python"
- Python Enumerate
- Сравнение неупорядоченных списков
- Фильтрация последовательности
- Упрощение условных выражений с тернарным оператором
- Переопределение метода __floordiv__
- Введение в PyTorch
- Освобождение памяти в Python
- Многопоточность и асинхронное программирование в Python
- Выборка чисел
- Отслеживание прогресса с tqdm
- Тип данных TypeVarTuple
- Поиск уникальных элементов строкой в Python
- Проверка на палиндром
- Counter() — подсчет элементов
- Управление контекстом выполнения
- Python Enum Weekday Usage
- Иерархия классов в Python
- Работа с модулем glob в Python
- Проверка кортежей.
- Операторы объединения в Python 3.9
- Многострочные комментарии в Python
- Декоратор total_ordering для класса Point
- ChainMap.new_child() — добавление нового словаря
- Переопределение метода __lshift__
- Разделение функций на этапы
- *args и **kwargs в Python
- Возврат нескольких значений
- Локальные переменные.
- Работа с изменяемыми списками
- Переворот списка в Python
- JMESPath в Python
- Метод __float__ в Python
- Управление фоновыми задачами в Python
- Получение текущей директории
- Проверка наличия элемента в списке
- Виртуальные среды в Python
- Управление пакетами с pip
- Dict Comprehension в Python
- Тестирование модели в PyTorch
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Работа с областями видимости переменных
- Работа со случайными элементами
- Создание GUI с Tkinter: Entry
- Переменная Шредингера
- Оболочка Python















