Курс 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. Отслеживание прогресса с tqdm
  2. Установка максимального количества цифр
  3. Основные методы NumPy
  4. Локальные переменные.
  5. Генераторы в Python
  6. Основы Python за 14 дней
  7. Работа с асинхронными задачами в Python
  8. Форматирование строк в Python
  9. Нарезка списков в Python
  10. Перевод текста с Python Translator
  11. Уникальность ключей в словаре
  12. Область видимости переменных
  13. Метод title() в Python
  14. Метод __ilshift__ для битового сдвига влево
  15. Работа с контекстным менеджером Pool
  16. Блок try…finally в Python
  17. Работа со случайными элементами
  18. Возвращение нескольких значений через кортеж или класс
  19. Замыкания в Python
  20. Использование эмодзи в Python
  21. Итерация по коллекции в Python
  22. Метод join() для объединения элементов строки
  23. Работа с классами данных
  24. Повторение элементов списков
  25. Обмен данными с asyncio.Queue
  26. Генераторы в Python
  27. Измерение времени выполнения кода
  28. Генераторы в Python
  29. Ошибка NotImplemented в Python
  30. Хеши в Python
  31. Удаление дубликатов из списка с помощью dict.fromkeys
  32. Декораторы в Python
  33. Структурирование именованных констант
  34. Структура данных словарь в Python
  35. Зарезервированные слова в Python
  36. Синтаксис переменных цикла в Python
  37. Моржовый оператор в Python 3.8
  38. Группы исключений в Python
  39. Python Тесты и Гайды
  40. Описание скриптов в README
  41. Синхронизация доступа к ресурсам
  42. Запуск Python из интерпретатора
  43. Особенности множеств в Python
  44. Отладка регулярных выражений в Python
  45. Отладка в командной строке
  46. Ограничение итераций в Python

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