Курс 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"
- Извлечение новостей с помощью newspaper3k
- Непрерывная проверка в Python
- Счетчик в Python: most_common()
- Операции с кортежами
- Создание копии списка в Python
- Измерение времени выполнения кода
- Многоточие в Python
- Вложенные циклы в Python
- Изменение переменной в Python: nonlocal
- Метод difference_update() — разность множеств
- Ветвление выражения в Python
- Список импортированных модулей в Python
- Метод rlshift для битового сдвига
- Расчет времени выполнения
- Структура данных deque в Python
- Глубокое копирование объектов
- Создание класса очереди
- Создание лямбда-функций
- Установка Python3.7 и PIP
- Работа с байтовыми строками в Python
- Карта бомбоубежищ в Москве и Питере
- Руководство по использованию Colorama
- Запуск внешнего кода в Jupyter
- Работа с буфером обмена на Python
- Модуль sys: основы
- PEP-401: оператор
- Просмотр атрибутов и методов класса
- Методы HTTP запросов в Flask
- Секреты Python
- Сохранение и загрузка модели в PyTorch
- Операции со строками в Python
- Функции-генераторы в Python
- Использование *args
- Работа с асинхронными задачами в Python
- Проектирование Singleton с метаклассом
- Оптимизация памяти в Python
- Работа с часовыми поясами в Python.
- Работа с enumerate()
- Создание копии итератора
- Удаление дубликатов из списка с помощью dict.fromkeys
- Документирование функций в Python
- Класс Counter() для подсчета элементов
- Подсказки типов в Python
- ChainMap.new_child() — добавление нового словаря
- Вложенные функции в Python
- Получение частей дроби
- Метод Self в Python
- Работа с Enum в Python3.
- Объединение списков в Python















