Курс 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. Повторение и перенос строки
  2. Тип CodeType в Python.
  3. Работа с географическими данными.
  4. Метод split() для разделения строк
  5. Метод hash в Python
  6. Обработка исключения UnboundLocalError
  7. Многопоточность в Python
  8. Работа с модулем Calendar
  9. Генераторы данных
  10. Разработка Telegram-ботов
  11. Отладка в Python
  12. Использование обратной косой черты в f-строках
  13. Форматирование чисел в Python
  14. Многострочные комментарии в Python
  15. Оптимизация интернирования строк
  16. Создание уникального проекта
  17. Создание комплексных чисел
  18. Сравнение строк в Python
  19. Оператор морж в Python 3.8
  20. Работа с контекст-менеджером «with»
  21. Импорт и использование модулей в Python
  22. Генераторы в Python
  23. Разделение списка на гнппы
  24. Метод add для класса Vector
  25. Копирование в Python
  26. Работа с кортежами в Python
  27. Работа с collections в Python.
  28. Генерация чисел с range()
  29. Навыки Python: строки, типы данных
  30. Передача аргументов в Python
  31. Переопределение унарных операторов
  32. Обработка исключений в Python
  33. Создание списков в Python
  34. Поиск самого длинного слова в списке с использованием max()
  35. Методы __repr__ и __str__ в Python
  36. Манипуляция формой массива в Numpy
  37. Работа со строками в Python
  38. Логические операторы в Python
  39. Работа с collections в Python
  40. Установка и использование pyshorteners
  41. Атрибуты класса и экземпляра
  42. Использование модуля math
  43. Обработка данных в Python
  44. Отношения подклассов в Python
  45. Проверка условий: all и any

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