Курс 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. Создание задания в Cron
  3. Функция enumerate в Python
  4. Работа со словарями с defaultdict из collections
  5. Сортировка данных с лямбда-функциями
  6. Модуль subprocess: запуск внешних команд
  7. Эффективная конкатенация строк с использованием join()
  8. Фильтрация входных данных в Python
  9. Управление импортом в Python
  10. Оператор объединения словарей
  11. Метод difference_update() — разность множеств
  12. Работа с кортежами в Python
  13. Установка и использование Telegram API в Python
  14. Декоратор Property в Python
  15. Получение текущей даты и времени с помощью datetime
  16. Пустой оператор pass в Python
  17. Сравнение неупорядоченных списков
  18. Множественное присваивание в Python
  19. Введение в PyTorch
  20. Циклы в Python
  21. Метод count() для списков
  22. Определение локальных переменных в Python
  23. Генератор бросков кубиков
  24. Декораторы в Python
  25. Beautiful Soup — извлечение данных из HTML
  26. Печать календаря в Python
  27. Разделение строки с помощью re.split()
  28. Обновление ключей в Python
  29. Основы слова
  30. Обработка аргументов Python
  31. Функция enumerate() — Python
  32. Атрибуты класса и экземпляра в Python
  33. Генераторы в Python
  34. Участие в сообществе @selectel
  35. Разница между датами
  36. Форматирование вывода списков
  37. Добавление элементов в список: append() vs extend()
  38. Игра «Виселица» на Python
  39. Функция format() в Python
  40. Условные выражения в Python
  41. Создание итерируемых объектов
  42. Списковое включение в Python

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