Курс 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"
- Избегайте использования goto
- Генерация QR-кодов с библиотекой qrcode
- Хранение данных с помощью dataclasses
- Работа со слайсами
- Регулярные выражения: метод match
- Оператор in в Python
- Переопределение метода __rshift__
- Форматирование строк в Python
- Codecademy в Telegram
- Выражения-генераторы в Python
- Обработка ошибок ввода данных
- Создание именованных кортежей в Python
- Возвращение нескольких значений
- Работа с атрибутом dict
- Оператор is в Python
- Работа с классами данных
- Функция divmod() в Python
- Анализ кода — Python
- Поиск уникальных элементов строкой в Python
- Уникальные значения из списка
- Статическая типизация в Python
- Функция zip() в Python
- Удаление ссылок в Python
- Основные функции и модули Python
- Декоратор Property в Python
- Лямбда-функции в Python
- lru_cache оптимизация функций
- Оператор break в Python
- Метод radd для пользовательских чисел
- Объединение списков в строку
- Создание веб-приложения с Flask
- Структурирование именованных констант
- Принцип одной функции
- Экспорт данных в файл.
- Вычисление натуральных логарифмов в NumPy
- Лямбда-функции в Python
- Использование html-скриптов в Jupyter Notebook
- Сортировка в Python
- Использование модуля math
- Обратное распространение ошибки
- Запрос DELETE с библиотекой requests
- PEP-401: оператор
- Dict Comprehension в Python
- Изменение логики работы с временем
- Вычисление фазы комплексного числа
- Управление браузером с Selenium
- Функция reduce() в Python
- Глубокое копирование объектов
- Фильтрация входных данных в Python















