Курс 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
  2. Передача неизвестных аргументов в Python.
  3. Генерация фальшивых данных с Faker
  4. Библиотека itertools: объединение списков
  5. Функция print() — вывод информации
  6. Безопасные SQL-запросы в Python 3.11
  7. Обход дочерних элементов BeautifulSoup
  8. Разделение строк методом split()
  9. Слияние словарей в Python 3.9
  10. Преобразование данных в Python
  11. Отношения подклассов в Python
  12. Разделение списка на гнппы
  13. Метод classmethod
  14. Генерация случайных чисел в Python
  15. Повторение и перенос строки
  16. Анонимные функции в Python
  17. Управление экспортом элементов
  18. Объединение списков в Python
  19. Работа с timedelta
  20. Срез списка в Python
  21. Удаление ключей из словаря
  22. Создание OrderedDict
  23. Исправление ошибки NameError
  24. Сравнение def и lambda функций в Python
  25. Оператор is в Python
  26. Переменные в Python
  27. Генерация чисел с range()
  28. Определение индекса элемента списка
  29. Метод join() для объединения элементов
  30. Создание коллекций из генератора
  31. None в Python: использование и особенности
  32. Нахождение разницы между списками в Python
  33. Представление бесконечности в Python
  34. Python-dateutil — работа с датами
  35. Создание и обучение модели с Keras
  36. Установка и обучение ChatterBot
  37. Создание namedtuple из словаря
  38. Поиск наиболее частого элемента в списке
  39. Аннотации типов в Python
  40. Роль ключевого слова self
  41. Логические значения в Python
  42. Область видимости переменных
  43. Управление памятью в Python
  44. Методы split() и join() — Python строк.
  45. Удаление элементов из списка в Python
  46. Работа с функцией next() в Python
  47. Транспонирование 2D-массива с помощью zip

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