Курс 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. Распаковка аргументов в Python
  2. Python Translator: создание локальных переводчиков
  3. Определение объема памяти объекта
  4. Конструктор в Python
  5. Экспорт внешнего файла с помощью writefile
  6. enumerate() в Python для работы с индексами
  7. Colorama: окрашивание текста в Python
  8. Оператор «and» в Python
  9. Применение функции к списку
  10. Декодирование байтов в строку
  11. Python-dateutil — работа с датами
  12. Удаление эмодзи с помощью pandas
  13. Обработка элементов в Python
  14. Работа с Colorama
  15. Оператор Walrus в Python
  16. Создание комплексных чисел
  17. Взаимодействие с sys
  18. Измерение времени выполнения кода
  19. Сериализация объектов в Python
  20. Управление IP-адресами через прокси
  21. Названия переменных
  22. Замена символов в строке
  23. Переименование файлов в Python
  24. PEP-401: оператор
  25. Реверс строки и списка в Python.
  26. Чтение бинарного файла в Python.
  27. Работа со строками
  28. Асинхронное программирование с asyncio
  29. Тестирование функции сложения
  30. Работа с CSV в Python
  31. Объединение словарей в Python
  32. Экспорт функций в Python
  33. Метод rpow в Python
  34. Отображение графиков в Jupyter с Matplotlib
  35. Измерение времени выполнения с помощью time
  36. Поиск email
  37. Метод join для наборов
  38. Вывод сложных структур данных с помощью pprint
  39. Генераторы данных
  40. Копирование и вставка текста в Python
  41. Создание генераторов в Python
  42. Получение текущей даты в Python
  43. Декораторы в Python
  44. Метод __irshift__ для побитового сдвига вправо
  45. Функция reduce() в Python

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