Курс 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. Работа со временем в Python
  2. Поиск подстроки в строке
  3. Метаклассы в Python
  4. Контекстный менеджер в Python
  5. PrettyTable: создание таблицы
  6. Параллельные вычисления в Python
  7. UserList в Python: Описание и примеры использования
  8. Группировка элементов в словарь
  9. Сортировка в Python
  10. Ограничение итераций в Python
  11. Управление User-Agent в Python
  12. Создание и использование ChainMap
  13. Изменение логики работы с временем
  14. Блок try…finally в Python
  15. Сравнение def и lambda функций в Python
  16. Поиск шаблона в начале строки
  17. Объединение итераторов
  18. Создание уникального проекта
  19. Срезы в Python
  20. Pretty-printing JSON в Python
  21. Множественное наследование в Python
  22. Сортировка слиянием
  23. Раздувающийся словарь в Python
  24. Добавление элемента в список.
  25. Транспонирование матрицы в Python
  26. Подписка на Kaspersky Team
  27. Настройка логгера Logzero
  28. Форматирование строк в Python
  29. Оформление кода на Python
  30. Оператор += для объединения строк
  31. Поиск частых элементов в списке
  32. Обработка исключений в Python
  33. Оператор «or» в Python
  34. Расчет времени выполнения
  35. Оптимизация гиперпараметров в Python
  36. Замена элементов в списке с помощью генераторов списков
  37. Удаление и повторная вставка ключа в OrderedDict
  38. Декораторы в Python
  39. Распаковка значений в Python
  40. Введение в PyTorch
  41. Проверка элементов списка условием
  42. Извлечение аудио из видео
  43. Именование переменных в Python
  44. Получение атрибутов и методов класса
  45. Отслеживание прогресса с tqdm
  46. Операторы увеличения и уменьшения в Python
  47. Вывод символов строки в Python
  48. Функции all и any в Python
  49. Названия столбцов в Python таблицах
  50. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys

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