Курс 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. Получение идентификатора объекта в памяти
  3. inspect в Python: анализ кода
  4. Фильтрация списка чисел
  5. Аннотации типов в Python
  6. Объединение словарей в Python
  7. Оптимизация гиперпараметров в Python
  8. Асинхронное программирование с asyncio
  9. Управление виртуальными средами в Python
  10. Преобразование чисел в слова
  11. Переменные в Python: сокращение гласных
  12. Функция count() в Python
  13. Работа с коллекциями Python
  14. Объединение списков в Python
  15. Работа с файлами и директориями в Python.
  16. F-строки в Python
  17. Вычисление времени выполнения
  18. Структура данных deque в Python
  19. Модуль array: создание и использование массивов
  20. Поиск с помощью регулярных выражений
  21. Определение объема памяти объекта
  22. Моржовый оператор в Python 3.8
  23. Применение функций в Python
  24. Логический оператор «and» в Python
  25. Работа с функцией next() в Python
  26. Преобразование range в итератор
  27. Отладка в командной строке
  28. Справка по импортированным модулям
  29. Проверка файла .py на синтаксис.
  30. Метод rsub в Python: расширение функциональности вычитания
  31. Генераторы в Python
  32. Псевдонимы в Python
  33. Считывание бинарного файла в Python
  34. Генераторы в Python
  35. Поиск элементов BeautifulSoup
  36. Работа с YAML в Python
  37. Измерение потребления памяти при сортировке
  38. Рекурсия для обращения строки
  39. Python groupby() из itertools: работа с повторяющимися элементами
  40. Искажение имен в Python
  41. Контекстный менеджер в Python
  42. Асинхронное выполнение задач в Python
  43. Подсчет элементов в списке с Counter
  44. Извлечение аудио из видео
  45. Склеивание строк без циклов
  46. Экранирование символов в Python
  47. Преобразование PowerPoint в PDF.

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