Курс 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. Подсчет элементов с помощью Counter из collections
  3. Блок try…finally в Python
  4. Сохранение и загрузка модели в PyTorch
  5. Переопределение метода __and__
  6. Numpy: использование Ellipsis
  7. Импорт модулей в Python 3.12
  8. Имена объектов в Python
  9. Работа с рекламными данными в Pandas
  10. Измерение потребления памяти при сортировке
  11. Эффективная конкатенация строк с использованием join()
  12. Сравнение def и lambda в Python
  13. Установка Home Assistant
  14. Метод join() для объединения строк
  15. CSV строка разделение в Python
  16. Создание пользовательской коллекции в Python
  17. OrderedDict — упорядоченный словарь
  18. Настройка вывода NumPy
  19. Метаклассы в Python
  20. Генераторы словарей и множеств
  21. Библиотека sh: использование команд bash в Python
  22. Создание словаря с значением по умолчанию
  23. Регистрация на TenChat
  24. Python: динамическая типизация и проверка типов
  25. Декораторы в Python
  26. Вложенные генераторы в Python
  27. Удаление дубликатов из списка
  28. Удаление специальных символов с помощью re.sub
  29. Управление контекстом выполнения кода
  30. Оператор in в Python
  31. Построение графиков в Matplotlib
  32. Декоратор @override
  33. Оператор «моржа» (Walrus Operator)
  34. Тип данных TypeVarTuple
  35. Автоматизация с Python
  36. Оператор is в Python
  37. Определение индекса элемента списка
  38. Частичное применение функций в Python
  39. Асинхронное программирование с asyncio
  40. Тест скорости набора текста на Python
  41. Работа с массивами в Numpy
  42. Применение функции map() в Python
  43. Освобождение памяти в Python
  44. Раздувающийся словарь в Python
  45. Кортеж в Python: создание, доступ, изменение

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