Курс 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. Создание namedtuple списком полей
  2. Синхронизация доступа к ресурсам
  3. Множественное назначение в Python
  4. Дефолтные параметры в Python
  5. Работа с комплексными числами в Python
  6. Разделение строк методом split()
  7. Библиотека wikipedia для Python
  8. Отправка поздравлений по дню рождения
  9. Нахождение пересечения множеств
  10. Обновление шаблона base.html
  11. Оператор объединения словарей
  12. Условные выражения в Python
  13. Множества и frozenset
  14. Статическая типизация в Python
  15. Создание объекта timedelta
  16. Оператор in для проверки наличия элемента
  17. Проектирование Singleton с метаклассом
  18. Метод rpow в Python
  19. kwargs в Python
  20. Создание функций с произвольным количеством аргументов
  21. Переопределение метода divmod
  22. Замена текста с помощью sub
  23. Методы Python для работы с данными
  24. Импортирование в Python
  25. Блок try-except-else
  26. SciPy: широкий функционал для математических операций
  27. Измерение времени выполнения кода
  28. Однострочники Python
  29. Инициализация переменных
  30. Объединение словарей в Python
  31. Аннотации типов в Python
  32. Сортировка элементов с OrderedDict
  33. Создание директории в Python
  34. Изменения в обработке логических значений
  35. Переворот списка в Python
  36. Сортировка данных в Python
  37. Преобразование PowerPoint в PDF.
  38. Декораторы в Python
  39. Использование html-скриптов в Jupyter Notebook
  40. Получение срезов итераторов
  41. Создание таблиц в Python с PrettyTable
  42. Python: изменяемые и неизменяемые коллекции
  43. Переопределение метода __eq__
  44. Оператор распаковки в Python
  45. Расчет времени выполнения программы
  46. Создание новой даты в Python
  47. Python defaultdict добавление ключа

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