Курс 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
- Подсчет элементов с помощью Counter из collections
- Блок try…finally в Python
- Сохранение и загрузка модели в PyTorch
- Переопределение метода __and__
- Numpy: использование Ellipsis
- Импорт модулей в Python 3.12
- Имена объектов в Python
- Работа с рекламными данными в Pandas
- Измерение потребления памяти при сортировке
- Эффективная конкатенация строк с использованием join()
- Сравнение def и lambda в Python
- Установка Home Assistant
- Метод join() для объединения строк
- CSV строка разделение в Python
- Создание пользовательской коллекции в Python
- OrderedDict — упорядоченный словарь
- Настройка вывода NumPy
- Метаклассы в Python
- Генераторы словарей и множеств
- Библиотека sh: использование команд bash в Python
- Создание словаря с значением по умолчанию
- Регистрация на TenChat
- Python: динамическая типизация и проверка типов
- Декораторы в Python
- Вложенные генераторы в Python
- Удаление дубликатов из списка
- Удаление специальных символов с помощью re.sub
- Управление контекстом выполнения кода
- Оператор in в Python
- Построение графиков в Matplotlib
- Декоратор @override
- Оператор «моржа» (Walrus Operator)
- Тип данных TypeVarTuple
- Автоматизация с Python
- Оператор is в Python
- Определение индекса элемента списка
- Частичное применение функций в Python
- Асинхронное программирование с asyncio
- Тест скорости набора текста на Python
- Работа с массивами в Numpy
- Применение функции map() в Python
- Освобождение памяти в Python
- Раздувающийся словарь в Python
- Кортеж в Python: создание, доступ, изменение















