Курс 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. Python enumerate() функции
  2. Асинхронное программирование с asyncio
  3. Python: изменяемые и неизменяемые коллекции
  4. Сортировка в Python
  5. Группировка элементов Python
  6. Удаление специальных символов с помощью re.sub
  7. Хранение переменных в словаре.
  8. Работа с переменными в Python
  9. Удаление символов новой строки в Python.
  10. Подсчет количества элементов в списке
  11. Реализация операции -= для пользовательского класса
  12. Поиск повторов в списке
  13. Создание namedtuple из словаря
  14. Псевдонимы в Python
  15. Список импортированных модулей в Python
  16. Работа с базами данных SQLite
  17. Расчет времени выполнения
  18. Навыки Python: строки, типы данных
  19. Вывод сложных структур данных с помощью pprint
  20. Добавление вложенных списков
  21. Поиск индекса элемента в списке
  22. Расчет времени выполнения программы
  23. Декоратор Ajax required
  24. Добавление элемента к кортежу
  25. Класс UserDict: дополнительная функциональность
  26. Преобразование строк в числа в Python
  27. Работа с временем в Python
  28. Оператор «or» в Python
  29. Функция product() из itertools
  30. Оператор Walrus в Python 3.8
  31. Извлечение новостей с помощью newspaper3k
  32. Классы данных в Python
  33. Просмотр файла в Jupyter Noteboo
  34. Открытие, чтение и закрытие файла
  35. Создание списка дат
  36. Работа с множествами в Python
  37. Обработка исключений в Python
  38. Форматирование строк в Python
  39. TON Smart Challenge #2: участие и подготовка
  40. Профилирование данных с Pandas
  41. Хеши в Python
  42. Генераторы в Python
  43. Установка максимального количества цифр
  44. Перемешивание списка с shuffle()
  45. Получение ID процесса
  46. Документирование функций в Python
  47. Проверка типов с помощью isinstance

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