Курс 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. Проекты на Python
  2. Разделение функций на этапы
  3. Установка пакетов с помощью pip
  4. Итераторы с потерямиZIP
  5. Замена подстроки
  6. Сортировка HTML по CSS-селектору
  7. Удаление и повторная вставка ключа в OrderedDict
  8. Форматирование строк в Python
  9. Работа со строками в Python
  10. Присвоение и ссылки
  11. Работа с утверждениями в Python
  12. Метод get() в Python
  13. Очистка входных данных
  14. Отладка в командной строке
  15. Сортировка с параметром key
  16. Форматирование строк в Python
  17. Поиск индексов в списке
  18. Метод setdefault() в Python
  19. Просмотр файла в Jupyter Noteboo
  20. Генераторы в Python
  21. Метод join() для объединения элементов
  22. Мониторинг памяти с Pympler
  23. Обезопасьте ввод данных
  24. Печать месячного календаря
  25. Проверка памяти объекта
  26. Поиск уникальных элементов строкой в Python
  27. Работа с библиотекой xkcd
  28. Функции any() и all() в Python
  29. Работа с многоуровневыми словарями в Python
  30. Импорт объектов из модулей
  31. Модуль math: константы π и e
  32. Срезы в Python
  33. Хэш-функции в Python
  34. Оптимизация интернирования строк
  35. Работа с CSV файлами
  36. Оптимизация поиска в словарях
  37. Метод join() для объединения элементов
  38. Возврат нескольких значений
  39. Переворот последовательности
  40. Комментарии в Python
  41. Переменная Шредингера
  42. Метод split() в Python
  43. Переопределение метода __and__
  44. Удаление ключей из словаря
  45. Python Ellipsis использование
  46. Pillow: работа с изображениями

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