Курс 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 Enumerate
  2. Сравнение неупорядоченных списков
  3. Фильтрация последовательности
  4. Упрощение условных выражений с тернарным оператором
  5. Переопределение метода __floordiv__
  6. Введение в PyTorch
  7. Освобождение памяти в Python
  8. Многопоточность и асинхронное программирование в Python
  9. Выборка чисел
  10. Отслеживание прогресса с tqdm
  11. Тип данных TypeVarTuple
  12. Поиск уникальных элементов строкой в Python
  13. Проверка на палиндром
  14. Counter() — подсчет элементов
  15. Управление контекстом выполнения
  16. Python Enum Weekday Usage
  17. Иерархия классов в Python
  18. Работа с модулем glob в Python
  19. Проверка кортежей.
  20. Операторы объединения в Python 3.9
  21. Многострочные комментарии в Python
  22. Декоратор total_ordering для класса Point
  23. ChainMap.new_child() — добавление нового словаря
  24. Переопределение метода __lshift__
  25. Разделение функций на этапы
  26. *args и **kwargs в Python
  27. Возврат нескольких значений
  28. Локальные переменные.
  29. Работа с изменяемыми списками
  30. Переворот списка в Python
  31. JMESPath в Python
  32. Метод __float__ в Python
  33. Управление фоновыми задачами в Python
  34. Получение текущей директории
  35. Проверка наличия элемента в списке
  36. Виртуальные среды в Python
  37. Управление пакетами с pip
  38. Dict Comprehension в Python
  39. Тестирование модели в PyTorch
  40. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  41. Работа с областями видимости переменных
  42. Работа со случайными элементами
  43. Создание GUI с Tkinter: Entry
  44. Переменная Шредингера
  45. Оболочка Python

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