Курс 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. Определение имен функций
  3. Генераторы в Python
  4. Операции со строками в Python
  5. Сравнение def и lambda в Python
  6. Описание скриптов в README
  7. Регистрация на курсы SF Education
  8. Ускорение выполнения кода в Python
  9. Работа с базами данных SQLite
  10. Класс Counter() для подсчета элементов
  11. Запуск файлового сервера
  12. Получение значений из словарей
  13. Безопасные SQL-запросы в Python 3.11
  14. Разность множеств
  15. Взаимодействие с sys
  16. Перехват исключений в Python
  17. Сортировка HTML по CSS-селектору
  18. Работа с срезами в Python
  19. Оператор += в Python
  20. Любовь к Python
  21. Создание итерируемых объектов
  22. Импорт с альтернативным именем
  23. Создание и удаление объектов
  24. Создание пустых функций и классов в Python
  25. Работа с комплексными числами в Python
  26. Лямбда-функции в Python
  27. Многострочные комментарии в Python
  28. Добавление элемента в список.
  29. Работа с комплексными числами
  30. Поиск шаблона в строке
  31. Разделение строки на пары ключ-значение.
  32. Обмен данными с asyncio.Queue
  33. Решатель судоку на Python с pygame
  34. Принципы SRP и OCP
  35. Преобразование PowerPoint в PDF.
  36. Объединение коллекций в Python
  37. Различия символов в Python
  38. Установка и использование pyshorteners
  39. Назначение максимального и минимального значения переменной в Python.
  40. Официальный канал Python в Telegram
  41. Retrying в Python: повторные вызовы
  42. Конвертация коллекций в Python.
  43. Управление контекстом с помощью декоратора contextmanager
  44. Присоединение элементов коллекции
  45. Отправка поздравлений по дню рождения
  46. Big O оптимизация
  47. Возврат значений из генератора

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