Курс 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. Обрезка изображения с Pillow
  2. Циклы в Python
  3. Особенности ключей словаря в Python
  4. Просмотр файла в Jupyter Noteboo
  5. Преобразование букв в нижний регистр
  6. Работа с рекламными данными в Pandas
  7. Python: отсутствие точек с запятыми
  8. Транспонирование 2D-массива с помощью zip
  9. Аннотации типов в Python
  10. Экспорт функций в Python
  11. Определение объема памяти объекта
  12. Установка и загрузка Instaloader
  13. Работа с прокси в Python
  14. Оператор «not» в Python
  15. Объединение строк с помощью метода join
  16. Вложенные функции в Python
  17. Функции высшего порядка в Python
  18. Структурирование именованных констант
  19. Работа с файлами в Python
  20. Экспорт внешнего файла с помощью writefile
  21. Операторы увеличения и уменьшения переменной
  22. Использование type hints
  23. Создание даты из строки ISO
  24. Создание OrderedDict
  25. Избегание циклических зависимостей классов в Python
  26. HTTP-запросы с библиотекой Requests
  27. Генераторы в Python
  28. Проверка условий в Python
  29. Combobox в Tkinter
  30. Функция product() в Python
  31. Цикл for с enumerate() в Python
  32. Отправка POST-запроса в REST API
  33. Комплексные числа в Python
  34. Хранение данных с помощью dataclasses
  35. Декоратор total_ordering для сравнения объектов
  36. Многострочные строки в Python
  37. SciPy: широкий функционал для математических операций
  38. Определение имен функций
  39. Генераторы в Python
  40. Вычисление фазы комплексного числа
  41. Операции с числами в Python
  42. Названия столбцов в Python таблицах
  43. Атрибуты массивов в Numpy
  44. Поиск с библиотекой Google
  45. Проверка дублей в списке.
  46. Создание списка дат
  47. Имена объектов в Python

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