Курс 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. Метод rsub в Python: расширение функциональности вычитания
  2. Работа с массивами в Numpy
  3. Проверка ввода с помощью isdigit
  4. Модуль math: основные функции
  5. Разница между датами
  6. Сортировка и обратный порядок
  7. Удаление файлов в Python
  8. Преобразование списков в словарь
  9. Генераторы в Python
  10. Раздувающийся словарь в Python
  11. Отрицательные индексы списков
  12. Работа с библиотекой requests
  13. Базовые объекты Python
  14. Установка и использование Telegram API в Python
  15. Обмен переменными в Jupyter
  16. Создание новых списков в Python
  17. Python-dateutil — работа с датами
  18. F-строки в Python
  19. Обработка исключения UnboundLocalError
  20. Метод rmatmul для пользовательских матриц
  21. Возведение в квадрат с помощью itertools
  22. Операции с числами в Python
  23. Сложение матриц в NumPy
  24. Структура данных словарь в Python
  25. Группировка элементов Python
  26. Magic Commands — улучшение работы с Python
  27. Динамические маршруты во Flask
  28. Параллельные вычисления в Python
  29. Определение локальных переменных в Python
  30. Создание и использование ChainMap
  31. Создание словаря в Python
  32. Множественное назначение в Python
  33. Модуль future Python
  34. Python 3.12: Псевдонимы типов
  35. Создание таблиц в Python с PrettyTable
  36. Функция zip() для объединения списков
  37. Однострочники Python
  38. Работа с enumerate()
  39. Документирование функций в Python
  40. Замена атрибута в именованном кортеже
  41. Работа с *args и **kwargs в Python
  42. Установка и использование Python-dateutil
  43. Работа с пользовательским вводом
  44. Новшества Flask 2.0
  45. Списковое включение в Python
  46. Ускорение выполнения кода в Python

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