Курс 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. Метод index() в Python
  3. Использование type hints
  4. Модуль pprint: улучшение вывода данных
  5. Разность множеств
  6. Модуль pprint
  7. Операции с комплексными числами
  8. Сортировка элементов в Python
  9. Мощь вложенных функций в Python
  10. Хеши в Python
  11. Тип CodeType в Python.
  12. Введение в Python
  13. Декораторы в Python
  14. Запуск файлового сервера
  15. Добавление элементов в список
  16. Создание итератора
  17. Функция enumerate() — Python
  18. Создание итерируемых объектов
  19. Метод is_absolute() для PurePath
  20. Поиск индекса элемента
  21. Отрицательные индексы списков
  22. Функция reduce() в Python
  23. Поиск подстроки в строке
  24. Работа с JSON данными в Python
  25. Оператор «not» в Python
  26. Оптимизация интернирования строк
  27. Функция sleep() в Python
  28. Создание копии списка в Python
  29. Обратный список чисел
  30. Игра Виселица на Python
  31. Оформление кода по PEP 8
  32. Извлечение аудио из видео
  33. Создание треугольника Паскаля
  34. Метод ipow для возведения в степень
  35. Функции в Python
  36. Работа с дробями в Python
  37. Работа с файлами в Python
  38. Python Метод del.
  39. Получение пути к текущему скрипту с помощью os
  40. Получение ID процесса
  41. Класс UserDict: дополнительная функциональность
  42. Создание новых функций через partial
  43. Оператор «and» в Python
  44. Объединение коллекций в Python
  45. Поиск подстроки в строке
  46. Работа с путями в Python
  47. Подсчет элементов с помощью Counter
  48. Изменение логики работы с временем

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