Курс 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"
- Создание namedtuple списком полей
- Синхронизация доступа к ресурсам
- Множественное назначение в Python
- Дефолтные параметры в Python
- Работа с комплексными числами в Python
- Разделение строк методом split()
- Библиотека wikipedia для Python
- Отправка поздравлений по дню рождения
- Нахождение пересечения множеств
- Обновление шаблона base.html
- Оператор объединения словарей
- Условные выражения в Python
- Множества и frozenset
- Статическая типизация в Python
- Создание объекта timedelta
- Оператор in для проверки наличия элемента
- Проектирование Singleton с метаклассом
- Метод rpow в Python
- kwargs в Python
- Создание функций с произвольным количеством аргументов
- Переопределение метода divmod
- Замена текста с помощью sub
- Методы Python для работы с данными
- Импортирование в Python
- Блок try-except-else
- SciPy: широкий функционал для математических операций
- Измерение времени выполнения кода
- Однострочники Python
- Инициализация переменных
- Объединение словарей в Python
- Аннотации типов в Python
- Сортировка элементов с OrderedDict
- Создание директории в Python
- Изменения в обработке логических значений
- Переворот списка в Python
- Сортировка данных в Python
- Преобразование PowerPoint в PDF.
- Декораторы в Python
- Использование html-скриптов в Jupyter Notebook
- Получение срезов итераторов
- Создание таблиц в Python с PrettyTable
- Python: изменяемые и неизменяемые коллекции
- Переопределение метода __eq__
- Оператор распаковки в Python
- Расчет времени выполнения программы
- Создание новой даты в Python
- Python defaultdict добавление ключа















