Курс Python → Переопределение метода __rshift__

Для того чтобы использовать операцию сдвига вправо для объекта в Python, необходимо переопределить метод rshift. Это может быть полезно, например, при работе с бинарными числами или другими типами данных, где операция сдвига вправо имеет смысл.

Метод rshift переопределяется в классе объекта, который вы хотите использовать со сдвигом вправо. Для этого нужно определить специальный метод __rshift__. Этот метод принимает два аргумента: объект, который будет сдвигаться, и количество позиций, на которое нужно сдвинуть.


class MyClass:
    def __rshift__(self, n):
        # реализация операции сдвига вправо
        pass

После того как вы переопределили метод __rshift__ в своем классе, вы сможете использовать операцию сдвига вправо для объектов этого класса. Например:


obj1 = MyClass()
result = obj1 >> 2

В данном примере объект obj1 будет сдвинут вправо на 2 позиции. Таким образом, переопределение метода __rshift__ позволяет объекту поддерживать стандартную операцию сдвига вправо в Python.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Замер времени выполнения кода
  2. Проверка элементов списка условием
  3. Фильтрация входных данных в Python
  4. Вложенные функции в Python
  5. Область видимости переменных в Python
  6. Форматирование строк в Python
  7. Преобразование символов в нижний регистр
  8. Сортировка в Python
  9. Преобразование символов с помощью map
  10. Обработка исключений в Python
  11. Создание даты из строки ISO
  12. Работа с массивами в Python
  13. Отладка кода
  14. Метод count в Python: почему count(», ») возвращает 4?
  15. Метод pop() списка
  16. Переворот строки с помощью срезов
  17. Установка и использование howdoi
  18. Избегание циклических зависимостей классов в Python
  19. Оператор деления для класса Rational
  20. Объединение кортежей в Python
  21. Контроль точности вывода чисел
  22. Python UserString — создание подклассов строк
  23. Обработка исключений в Python 3
  24. Основные методы NumPy
  25. Загрузка постов Instagram
  26. GitHub в Telegram: подписка на уведомления
  27. Хранение данных
  28. Подсчет элементов в Python
  29. Контекстный менеджер в Python
  30. Работа с путями в Python
  31. Логирование с Loguru
  32. Символ подчеркивания в Python
  33. Взаимодействие с sys
  34. Методы работы со списками
  35. Библиотека sh: удобные команды терминала
  36. Метод invert для побитового отрицания
  37. Метод init в Python
  38. Обязательные аргументы в Python
  39. Утечки переменных цикла в Python 3.x
  40. Измерение времени выполнения кода
  41. Введение в Python
  42. Создание графиков в терминале
  43. Изменение регистра данных

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