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

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

Давайте рассмотрим простой пример. У нас есть класс Point, представляющий точку на плоскости с координатами x и y. Мы можем определить метод __add__, который будет складывать две точки вместе, возвращая новую точку с координатами, равными сумме соответствующих координат. Вот как это может выглядеть:


class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)

point1 = Point(1, 2)
point2 = Point(3, 4)
result = point1 + point2
print(result.x, result.y)

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

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

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

Автор урока

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

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

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

  1. Разделение строк в Python
  2. Переменные в Python
  3. Идентификатор объекта в Python
  4. Метод setdefault() в Python
  5. Подписка на @SelectelNews
  6. Курсы Яндекс Практикум
  7. Ограничение ресурсов в Python
  8. Измерение времени выполнения с помощью time
  9. Роль ключевого слова self
  10. Проверка кортежей.
  11. Частичное применение функций в Python
  12. Применение промокода в Много лосося
  13. Оптимизация сравнения в Python
  14. Параллельные вычисления в Python
  15. Метод ne для сравнения объектов
  16. Сравнение строк в Python
  17. Изменение IP-адреса в Python
  18. Генераторы в Python
  19. Создание новых списков в Python
  20. Разделение строки с помощью split()
  21. None в Python: использование и особенности
  22. Метод __ilshift__ для битового сдвига влево
  23. Логирование с Logzero
  24. Условные выражения в Python
  25. Отступы в Python
  26. Работа с модулем random
  27. Извлечение аудио из видео
  28. Оптимизация памяти в Python
  29. Распаковка элементов последовательности
  30. Работа с файлами в Python
  31. Показ всплывающих окон Tkinter
  32. Необязательные аргументы в Python
  33. Срез в Python
  34. Оператор (*) в Python
  35. Замер времени выполнения кода
  36. Декораторы в Python
  37. Работа с часовыми поясами в Python.
  38. Объединение списков с помощью zip
  39. Метод count в Python: почему count(», ») возвращает 4?
  40. Объединение словарей в Python
  41. Иерархия классов в Python
  42. Переворот последовательности
  43. Методы работы со строками в Python
  44. Перевод эмодзи и эмотиконов.
  45. Проверка индексов коллекции
  46. Переопределение оператора % для объектов
  47. Вывод переменной и строки в Python

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