Курс Python → Перегрузка операторов в Python

Перегрузка операторов в Python — это механизм, который позволяет вам определять специальные методы в своих классах, чтобы изменить стандартное поведение операторов. Например, вы можете определить метод __add__ для класса, чтобы определить, как объекты этого класса должны вести себя при использовании оператора +. Это позволяет вам создавать более интуитивные и удобные для использования объекты, которые могут взаимодействовать с другими объектами в вашем коде.

Использование перегрузки операторов делает ваш код более читаемым и понятным, так как вы можете использовать стандартные операторы для работы с вашими объектами, как если бы они были встроенными типами данных. Например, вы можете сложить два объекта вашего класса, используя оператор +, вместо вызова специального метода add() или другого аналогичного метода.

Пример использования перегрузки операторов в Python:


class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    
    def __add__(self, other):
        return Vector(self.x + other.x, self.y + other.y)

v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2
print(v3.x, v3.y)  # Выведет: 4, 6

В этом примере мы создаем класс Vector с двумя координатами x и y. Мы определяем метод __add__, который позволяет сложить два объекта класса Vector, складывая их соответствующие координаты. При использовании оператора + для объектов класса Vector, Python автоматически вызывает метод __add__, что позволяет нам работать с объектами класса Vector так, как если бы они были встроенными типами данных.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Создание списка через итерацию
  2. Основы Python
  3. Удаление элементов во время итерации
  4. Удаление элементов из списка в Python
  5. Выражения-генераторы в Python
  6. Python Аргументы по умолчанию
  7. Лимиты на ресурсы Python
  8. Команда %dhist — список посещенных каталогов
  9. Распаковка с оператором *
  10. Работа с парами ключ-значение
  11. Ускорение обработки данных с %autoawait
  12. Вычисление логарифмов в Python
  13. Определение основы слова с showballstemmer
  14. Улучшенные подсказки для импорта в Python 3.12
  15. Избегайте использования goto
  16. Python Calendar Usage
  17. Разделение функций на этапы
  18. Переменная с нижним подчеркиванием
  19. Фильтрация данных в Python.
  20. Сортировка и обратный порядок
  21. Оператор распаковки в Python
  22. Форматирование данных с помощью pprint
  23. Нарезка списков в Python
  24. Решение переменной Шредингера
  25. Создание списка через цикл
  26. Явный импорт в Python
  27. Визуализация пропусков данных
  28. Оптимизация памяти с __slots__
  29. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  30. Установка Git и AWS CLI
  31. Метод Self в Python
  32. Копирование объектов в Python
  33. Регистрация на курсы SF Education
  34. Создание графики с черепахой
  35. Управление контекстом с помощью декоратора contextmanager
  36. Принципы Zen of Python
  37. Работа с collections.Counter
  38. Форматирование строк в Python
  39. Обход элементов в Python
  40. Тестирование с unittest
  41. Функции min(), max(), sum()
  42. Передача аргументов через **arguments
  43. Методы HTTP запросов в Flask

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