Курс 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. Запуск Python из интерпретатора
  3. Разделение списка на гнппы
  4. Работа с пользовательским вводом
  5. Контекстный менеджер в Python
  6. Импорт классов из другого файла
  7. Профилирование кода
  8. Реализация метода __abs__ в Python
  9. Асинхронное программирование с asyncio
  10. Возврат нескольких значений
  11. Вложенные циклы в Python
  12. Операция += для списков
  13. Работа с модулем os в Python
  14. Форматирование чисел в Python
  15. Применение функции map() с лямбда-функциями
  16. Замена символов в Python
  17. Хэш-функции в Python
  18. Оператор «not» в Python
  19. Конкатенация строк с join() в Python
  20. Добавление элемента в список.
  21. Функция enumerate() — Python
  22. Логические значения в Python
  23. Измерение времени выполнения
  24. Метод count() для списка
  25. Сложные типы данных в Python
  26. Конкатенация строк с помощью join()
  27. UserList в Python: Описание и примеры использования
  28. Разделение строк в Python
  29. Magic Commands — улучшение работы с Python
  30. Объединение списков в Python
  31. Отделение звука от видео
  32. Команда %dhist — список посещенных каталогов
  33. Проверка типов с использованием isinstance
  34. Создание новых списков через list comprehensions
  35. Метод rsub в Python: расширение функциональности вычитания
  36. Циклы в Python
  37. Генерация случайных чисел в Python
  38. Установка и обучение ChatterBot
  39. История Python
  40. Модуль xkcd: загрузка комиксов
  41. Роль запятой в Python
  42. Автоматизация действий с Pyautogui
  43. Создание итератора
  44. Печать в одной строке
  45. Генераторы списков в Python
  46. Поиск подстроки в строке

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