Курс 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. F-строки в Python 3.8
  2. Введение в PyTorch
  3. Обрезка изображения с Pillow
  4. Работа с путями в Python
  5. Шаблоны и наследование в Flask
  6. Комментарии в Python.
  7. Фильтрация списка от «ложных» значений
  8. Установка и загрузка Instaloader
  9. Извлечение данных из JSON
  10. Переменная с нижним подчеркиванием
  11. Комментарии в Python
  12. Управление асинхронными задачами на Python.
  13. Упрощение работы с JSON-данными в Python
  14. Распаковка аргументов в Python
  15. Получение текущей даты в Python
  16. Python enumerate() функции
  17. Атрибуты массивов в Numpy
  18. Работа с часовыми поясами в Python.
  19. Установка пакета в Python
  20. Бинарный поиск
  21. Аннотации типов в Python
  22. Функция zip() в Python
  23. Регистрация на курсы SF Education
  24. Игра «Виселица» на Python
  25. Настройка шрифта и цвета в Tkinter
  26. Метод enumerate() в Python
  27. Работа с модулем os в Python
  28. Создание итератора
  29. Методы Python для работы с данными
  30. Итерации в Python
  31. capitalize() — изменение регистра первого символа строки
  32. Цикл while в Python
  33. Оператор «not» в Python
  34. Лямбда-функции в Python
  35. Импорт с альтернативным именем
  36. Тестирование времени с Freezegun
  37. Измерение времени выполнения кода
  38. Кортеж в Python: создание и использование
  39. Объединение словарей в Python
  40. Сериализация объектов в Python
  41. Частичное совпадение пользовательского ввода в Python 3.10
  42. Работа с GitHub в Telegram
  43. Переопределение метода __and__
  44. Использование модуля math
  45. Оптимизация памяти в Python

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