Курс 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. Проблемы с именами переменных
  2. JSON в Python: модуль, dump, dumps, load
  3. Получение комбинаций в Python
  4. Замена текста с помощью sub
  5. Использование эмодзи в Python
  6. Поиск подстроки в строке
  7. Вывод переменной и строки в Python
  8. Логический оператор «and» в Python
  9. Обработка StopIteration в Python
  10. Работа с файлами в Python
  11. Тестирование функции сложения
  12. Подписка на SelectelNews в Twitter
  13. Работа с пакетами
  14. Использование type hints
  15. Поиск частых элементов в списке
  16. Замер времени выполнения кода
  17. Работа со временем в Python
  18. Сравнение строк в Python
  19. Оператор in для проверки наличия элемента
  20. Получение размера объекта с sys.getsizeof()
  21. Python Ellipsis использование
  22. Фильтрация списка от «ложных» значений
  23. Работа с классами данных
  24. Виртуальные среды в Python
  25. Объединение списков в Python.
  26. inspect в Python: анализ кода
  27. Работа со случайными элементами
  28. Запрос пароля с помощью getpass
  29. Расчет времени выполнения кода
  30. Конкатенация строковых литералов
  31. Преобразование многоуровневого словаря
  32. Классы данных в Python
  33. Оператор += для объединения строк
  34. Управление контекстом выполнения кода
  35. Атрибуты класса и экземпляра
  36. Использование defaultdict в Python
  37. JMESPath в Python
  38. Печать списка с помощью метода join
  39. Функции any() и all() в Python
  40. Простой калькулятор Python
  41. Извлечение новостей с newspaper3k
  42. Отправка поздравлений по дню рождения
  43. Асинхронное выполнение задач в процессах
  44. Установка User-Agent в Python
  45. Инициализация переменных
  46. Отрицательные индексы списков

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