Курс 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() функции
- Асинхронное программирование с asyncio
- Python: изменяемые и неизменяемые коллекции
- Сортировка в Python
- Группировка элементов Python
- Удаление специальных символов с помощью re.sub
- Хранение переменных в словаре.
- Работа с переменными в Python
- Удаление символов новой строки в Python.
- Подсчет количества элементов в списке
- Реализация операции -= для пользовательского класса
- Поиск повторов в списке
- Создание namedtuple из словаря
- Псевдонимы в Python
- Список импортированных модулей в Python
- Работа с базами данных SQLite
- Расчет времени выполнения
- Навыки Python: строки, типы данных
- Вывод сложных структур данных с помощью pprint
- Добавление вложенных списков
- Поиск индекса элемента в списке
- Расчет времени выполнения программы
- Декоратор Ajax required
- Добавление элемента к кортежу
- Класс UserDict: дополнительная функциональность
- Преобразование строк в числа в Python
- Работа с временем в Python
- Оператор «or» в Python
- Функция product() из itertools
- Оператор Walrus в Python 3.8
- Извлечение новостей с помощью newspaper3k
- Классы данных в Python
- Просмотр файла в Jupyter Noteboo
- Открытие, чтение и закрытие файла
- Создание списка дат
- Работа с множествами в Python
- Обработка исключений в Python
- Форматирование строк в Python
- TON Smart Challenge #2: участие и подготовка
- Профилирование данных с Pandas
- Хеши в Python
- Генераторы в Python
- Установка максимального количества цифр
- Перемешивание списка с shuffle()
- Получение ID процесса
- Документирование функций в Python
- Проверка типов с помощью isinstance















