Курс 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. Метод __int__ в Python
  2. Проблемы с dict в Python
  3. Замена символов в Python
  4. Форматирование строк в Python
  5. Метод rmatmul для пользовательских матриц
  6. Метод add для класса Vector
  7. Работа с словарями в Python
  8. Работа с deque из collections
  9. Частичное совпадение ввода
  10. Визуализация пропусков данных
  11. Создание словарей в Python
  12. Методы split() и join() — Python строк.
  13. Принципы Zen of Python
  14. Эффективная конкатенация строк в Python
  15. Оператор обр. импликации
  16. Округление дробей в Python
  17. Счетчик ссылок в Python
  18. Ограничение ресурсов в Python
  19. Объединение словарей в Python
  20. Сокращение ссылок с pyshorteners
  21. Создание уникального проекта
  22. Numpy: объединение массивов
  23. Итераторы в Python
  24. Concrete Paths — метод .with_suffix()
  25. Установка и использование модуля Wikipedia
  26. Аннотации типов в Python
  27. Порядок операций в Python
  28. Удаление ключа из словаря
  29. Проверка строки на палиндром
  30. Работа с географическими данными.
  31. Генераторы в Python
  32. Работа с timedelta
  33. Генерация QR-кодов с библиотекой qrcode
  34. Python defaultdict добавление ключа
  35. Глобальные переменные в Python
  36. Функция zip() в Python
  37. Вычисление логарифмов в Python
  38. Использование функции enumerate()
  39. Оптимизация строк в Python
  40. Объединение списков с использованием itertools.chain
  41. Декораторы для регистрации функций
  42. Python: Фильтрация списков с помощью filter()
  43. Сортировка в Python
  44. Выключение компьютера с помощью Python
  45. Установка User-Agent в Python
  46. Метод округления чисел
  47. Переопределение метода sub
  48. Отладка производительности Python

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