Курс 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. Функция enumerate в Python
  2. Оптимизация методов в Python 3.7
  3. Сумма элементов списка
  4. Создание новых функций с помощью functools.partial
  5. Метод ior для битовых операций
  6. Оператор match в Python
  7. Модуль Antigravity в Python 3
  8. F-строки в Python
  9. Модуль Operator в Python
  10. Использование функции enumerate()
  11. Метод invert для побитового отрицания
  12. Обновление данных через PUT запрос
  13. Проверка версии Python
  14. Работа с изменяемыми списками
  15. Переворот строки с помощью срезов
  16. Получение комбинаций в Python
  17. Обработка данных в Python
  18. Переменные в Python: сокращение гласных
  19. Парсинг веб-страниц с Beautiful Soup
  20. Генераторы в Python
  21. Python itertools combinations() — группировка элементов
  22. Список методов и атрибутов
  23. Потоковый ввод в Python
  24. Обход дочерних элементов BeautifulSoup
  25. Основы Python
  26. Присвоение значений переменным в Python
  27. SciPy: широкий функционал для математических операций
  28. Хранение переменных в словаре.
  29. Преобразование чисел в слова
  30. Открытие и запись файлов
  31. Аннотации типов в Python
  32. Генерация случайных чисел в Python
  33. Генерация тестовых данных с factory_boy
  34. Поиск наиболее частого элемента списке
  35. Установка и использование модуля «howdoi»
  36. Умножение строк и списков
  37. Работа с CSV файлами в Python
  38. Вызов функций по строке в Python.
  39. Создание копии итератора
  40. Инверсия списка и строки в Python
  41. Обновление множества в Python
  42. Определение функций с необязательными аргументами
  43. Взаимодействие с внешними процессами в Python
  44. Перевод двоичного кода в целое число
  45. Методы работы со строками в Python
  46. Определение размера папок в Python

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