Курс 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: динамическая типизация и проверка типов
  3. Поиск индексов в списке
  4. Работа с изображениями PIL
  5. Управление асинхронными задачами на Python.
  6. Генераторы в Python
  7. Транспонирование матрицы
  8. IPython и Jupyter Notebook: руководство
  9. Резервирование символов в Python
  10. Объединение словарей в Python
  11. Оператор assert в Python
  12. Разделение списка на гнппы
  13. Метод setdefault() в Python
  14. ChainMap.new_child() — добавление нового словаря
  15. Генераторы данных
  16. Аннотации типов в Python
  17. Сортировка списка по индексам
  18. Расчет времени выполнения
  19. Работа с типами данных в Python с помощью pydantic.
  20. Настройка вывода в Numpy
  21. Распаковка с оператором *
  22. Переопределение метода __pow__
  23. Pretty-printing JSON в Python
  24. Логические значения в Python
  25. Выборка чисел
  26. Использование defaultdict в Python
  27. Игра «Камень, ножницы, бумага» — Python
  28. Библиотека itertools: объединение списков
  29. Нахождение отличий в списках
  30. Функция zip() — объединение последовательностей
  31. Атрибуты объекта в Python
  32. UserList в Python: Описание и примеры использования
  33. Склеивание строк через метод join()
  34. %pinfo: получение информации об объекте
  35. Работа с байтовыми строками в Python
  36. Транспонирование 2D-массива с помощью zip
  37. Курсы Яндекс Практикум
  38. Создание пустых функций и классов в Python
  39. Основы Python за 14 дней
  40. Сортировка в Python
  41. Измерение потребления памяти при сортировке
  42. Отправка поздравлений по дню рождения
  43. Python: отсутствие точек с запятыми
  44. Подробная информация о %pinfo

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