Курс 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. Enum в Python: создание и использование перечислений
  2. Сравнение неупорядоченных списков
  3. Округление в Python
  4. Множественное назначение в Python
  5. Создание объекта timedelta
  6. Сравнение объектов в Python
  7. Проверка условий: all и any
  8. Применение функции map() в Python
  9. Преобразование текста в нижний регистр
  10. Генерация строк с .join()
  11. Генераторы в Python
  12. CSV строка разделение в Python
  13. Конвертация текстовых чисел с помощью Numerizer
  14. Лимиты на ресурсы Python
  15. F-строки в Python 3.8
  16. Обработка исключений в Python
  17. Руководство по использованию Colorama
  18. Декоратор для группы пользователей в Django
  19. Установка и использование pyshorteners
  20. Передача аргументов через **arguments
  21. Функции map, filter и reduce
  22. Комментарии в Python.
  23. Работа с изменяемыми коллекциями
  24. Названия переменных
  25. Поиск элементов BeautifulSoup
  26. Удаление дубликатов из списка с помощью dict.fromkeys
  27. Оператор «or» в Python
  28. Форматирование строк в Python
  29. Определение размера папок в Python
  30. Форматирование вывода с F-строками
  31. Перезагрузка оператора в Python
  32. Использование *args
  33. Создание namedtuple списком полей
  34. PUT запрос для обновления данных
  35. Обмен значений переменных в Python
  36. Копирование объектов в Python
  37. Замена подстроки
  38. Руководство по Pymorphy2
  39. Преобразование многоуровневого словаря
  40. Методы list в Python
  41. Функция sleep() в Python
  42. Определение основы слова с showballstemmer
  43. Возврат нескольких значений
  44. Метод append() для списка
  45. Блок else в Python

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