Курс 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. Функция zip() — объединение последовательностей
  3. Добавление кнопки в tkinter
  4. Создание и удаление объектов
  5. Многострочные строки в Python
  6. Проверка однородности элементов списка
  7. Преобразование текста в речь с Python
  8. Создание словаря с значением по умолчанию
  9. Конвертация коллекций в Python
  10. Метод join() для объединения элементов
  11. Разделение строки с помощью split()
  12. Очистка данных с Pandas
  13. Декораторы в Python
  14. Ключевое слово global в Python
  15. Многоточие в Python
  16. Сравнение def и lambda функций в Python
  17. Работа с YAML в Python
  18. Оператор is в Python
  19. Структура строк в Python
  20. Работа с модулем glob в Python
  21. Экспорт данных в файл.
  22. Переменные в Python: сокращение гласных
  23. Конкатенация строк в Python
  24. Необязательные аргументы в Python
  25. Solidity для DeFi Ethereum
  26. Работа с классами данных
  27. Оператор Walrus в Python
  28. Динамическая типизация в Python
  29. Преобразование кортежа в словарь.
  30. Сокращение ссылок с pyshorteners
  31. Аргументы *args и **kwargs
  32. Построение графиков в терминале с bashplotlib
  33. Работа с исключениями в Python
  34. Обновление шаблона base.html
  35. Создание директории в Python
  36. Метод index() в Python
  37. Замена атрибута в именованном кортеже
  38. Импорт объектов из модулей
  39. Очистка входных данных
  40. Генерация UUID в Python
  41. Создание генераторов
  42. Удаление URL-адресов в Python
  43. Методы работы со строками в Python
  44. Поиск повторов в списке
  45. Создание новых списков в Python
  46. Сохранение Unicode в JSON
  47. Python: динамическая типизация и проверка типов
  48. Генерация резюме в Gensim
  49. Получение локальных переменных в Python

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