Курс 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. Оператор умножения для вектора
  2. Измерение времени выполнения кода
  3. Объединение множеств в Python
  4. Изменение списка срезами
  5. Преобразование строки в число
  6. Генераторы списков в Python
  7. Методы в Python
  8. Управление виртуальными средами в Python
  9. Метод __imod__ для Python
  10. Оператор == в Python
  11. Вывод баннеров
  12. Преобразование букв в нижний регистр
  13. Оператор match в Python
  14. Управление браузером с Selenium
  15. Профилирование с Pandas
  16. Удаление элементов из списка в Python.
  17. Синхронизация потоков с time.sleep()
  18. Замена текста в Python
  19. Именованные аргументы в Python
  20. Возвращение нескольких значений
  21. Обработка исключений в Python 3
  22. Перегрузка операторов в Python
  23. Область видимости переменных
  24. Python Enum Weekday Usage
  25. Проверка дублей в списке.
  26. Модуль Operator в Python
  27. Создание лямбда-функций
  28. Работа с набором данных CIFAR10 в PyTorch
  29. Идентификатор объекта в Python
  30. Присвоение значений переменным в Python
  31. Поиск элементов BeautifulSoup
  32. Декораторы в Python
  33. Транспонирование 2D-массива с помощью zip
  34. Тестирование с responses
  35. Генераторы в Python
  36. Объединение словарей в Python
  37. Поиск уникальных и повторяющихся элементов
  38. Операции с массивами в NumPy
  39. Генерация случайных данных в NumPy
  40. Преобразование символов в нижний регистр
  41. Создание задания в Cron
  42. Игра «Виселица» на Python
  43. Форматирование строк в Python
  44. Работа с массивами в Numpy
  45. Antigravity модуль
  46. Работа с NumPy массивами
  47. Удаление элемента из списка в Python

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