Курс 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. Функции any() и all() в Python
  2. Конвертация текстовых чисел с помощью Numerizer
  3. Ввод нескольких значений
  4. Сравнение def и lambda функций в Python
  5. Метод join() для объединения строк
  6. Тип CodeType в Python.
  7. Метод join() с набором
  8. Работа с argparse
  9. Получение локальных переменных в Python
  10. Работа с классами данных
  11. Повторение элементов в Python
  12. Возврат нескольких значений из функции
  13. Инверсия списков и строк в Python
  14. Операции со строками в Python
  15. Нан-рефлексивность в Python
  16. Метод join() для объединения элементов строки
  17. Заказ карты Тинькофф Black
  18. Логирование с Logzero
  19. Логирование в Python
  20. Функция zip() в Python
  21. Просмотр внешнего файла в Python
  22. Объединение списков с использованием itertools.chain
  23. Протокол управления контекстом
  24. Создание панели меню Tkinter
  25. TypedDict для kwargs в Python 3.12
  26. Разделение строки на подстроки в Python
  27. Перегрузка операторов в Python
  28. Работа с itertools
  29. Оператор is в Python
  30. Управление контекстом с помощью декоратора contextmanager
  31. Конкатенация строк с методом join()
  32. Отправка POST-запроса в REST API
  33. Объединение списков в Python
  34. Работа с датой и временем в Python
  35. Метод gt в Python
  36. Тернарный оператор в Python
  37. Анализ текста на русском языке с помощью Pymystem3
  38. Функция all() в Python
  39. Отладка кода
  40. Метод lt для сортировки объектов
  41. Объединение словарей в Python
  42. Участие в сообществе @selectel
  43. Создание пар из последовательностей
  44. Перетасовка списков в Python
  45. Установка виртуального окружения Python
  46. Защита данных в Python
  47. Поиск всех индексов подстроки

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