Курс 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"

  1. Переворот строки
  2. Создание детектора плагиата
  3. Основные операции с Numpy
  4. Метод get() в Python
  5. Удаление дубликатов в pandas
  6. Асинхронное выполнение задач в Python
  7. Работа с путями в Python
  8. Функции с необязательными аргументами
  9. Подробная информация о %pinfo
  10. Управление ресурсами с контекстными менеджерами
  11. Разделение строки на пары ключ-значение.
  12. Импорт объектов из модулей
  13. Декоратор total_ordering для класса Point
  14. Списки: объединение, изменение
  15. Enum в Python
  16. Использование эмодзи в Python
  17. Поиск самого длинного слова в списке с использованием max()
  18. Метод join для наборов
  19. Переименование файлов в Python
  20. Вычисление разности множеств в Python
  21. Создание списков в Python
  22. Атрибуты массивов в Numpy
  23. Возврат нескольких значений из функции
  24. Вывод сложных структур данных с помощью pprint
  25. Управление ресурсами в Python
  26. Управление браузером с Selenium
  27. Работа с множествами в Python
  28. Основы Python за 14 дней
  29. Объединение списков в строку
  30. Python: отличительная особенность — отступы
  31. Логический оператор «and» в Python
  32. Создание задания в Cron
  33. Выбор редактора кода.
  34. Управление памятью в Python
  35. Отслеживание выполнения программы с библиотекой tqdm
  36. Итерация по копии коллекции
  37. Обработка ошибок в JSON данных
  38. Поиск частых элементов в списке
  39. Итераторы в Python
  40. Функциональное программирование.
  41. Определение имен функций
  42. Виртуальные среды в Python
  43. Печать в одной строке

Marketello читают маркетологи из крутых компаний