Курс 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. Избегайте использования goto
  2. Генерация QR-кодов с библиотекой qrcode
  3. Хранение данных с помощью dataclasses
  4. Работа со слайсами
  5. Регулярные выражения: метод match
  6. Оператор in в Python
  7. Переопределение метода __rshift__
  8. Форматирование строк в Python
  9. Codecademy в Telegram
  10. Выражения-генераторы в Python
  11. Обработка ошибок ввода данных
  12. Создание именованных кортежей в Python
  13. Возвращение нескольких значений
  14. Работа с атрибутом dict
  15. Оператор is в Python
  16. Работа с классами данных
  17. Функция divmod() в Python
  18. Анализ кода — Python
  19. Поиск уникальных элементов строкой в Python
  20. Уникальные значения из списка
  21. Статическая типизация в Python
  22. Функция zip() в Python
  23. Удаление ссылок в Python
  24. Основные функции и модули Python
  25. Декоратор Property в Python
  26. Лямбда-функции в Python
  27. lru_cache оптимизация функций
  28. Оператор break в Python
  29. Метод radd для пользовательских чисел
  30. Объединение списков в строку
  31. Создание веб-приложения с Flask
  32. Структурирование именованных констант
  33. Принцип одной функции
  34. Экспорт данных в файл.
  35. Вычисление натуральных логарифмов в NumPy
  36. Лямбда-функции в Python
  37. Использование html-скриптов в Jupyter Notebook
  38. Сортировка в Python
  39. Использование модуля math
  40. Обратное распространение ошибки
  41. Запрос DELETE с библиотекой requests
  42. PEP-401: оператор
  43. Dict Comprehension в Python
  44. Изменение логики работы с временем
  45. Вычисление фазы комплексного числа
  46. Управление браузером с Selenium
  47. Функция reduce() в Python
  48. Глубокое копирование объектов
  49. Фильтрация входных данных в Python

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