Курс 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. enumerate() в Python для работы с индексами
  2. Объединение множеств в Python
  3. Цикл for в Python
  4. Разница между датами
  5. Частичное совпадение пользовательского ввода в Python 3.10
  6. Создание графиков в терминале
  7. Удаление элементов из списка в Python
  8. Функции all() и any() в Python
  9. Извлечение статей с newspaper3k
  10. Dict Comprehension в Python
  11. Генераторы в Python
  12. Работа с модулем random
  13. Работа с датой и временем в Python
  14. Метод radd для пользовательских чисел
  15. Передача неизвестных аргументов в Python.
  16. Копирование в Python
  17. Инверсия списков и строк в Python
  18. Управление фоновыми задачами в Python
  19. HTTP-запросы с библиотекой Requests
  20. Метод join для наборов
  21. Возвращение нескольких значений
  22. Работа со словарями
  23. Работа с CSV в Python
  24. Статическая типизация в Python
  25. Новшества Flask 2.0
  26. Многострочные комментарии в Python
  27. Декораторы в Python
  28. Конвертация изображений в PDF
  29. Деление в Python
  30. Работа со слайсами
  31. Работа с геоданными с помощью geopy
  32. Объединение списков в Python
  33. Поиск самого длинного слова в списке с использованием max()
  34. Создание файла с проверкой ошибки
  35. Основы работы с os
  36. Извлечение чисел из текста
  37. Добавление вложенных списков
  38. Python Ellipsis использование
  39. Настройка вывода в Numpy
  40. Работа со списками
  41. Именованные срезы в Python
  42. Создание итерируемых объектов
  43. Символ подчеркивания в Python
  44. Установка и использование howdoi
  45. Генераторы списков
  46. Установка и использование Virtualenv
  47. Библиотека Emoji: использование смайлов в Python

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