Курс 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. Метод __call__ в Python
  3. Подсчет элементов в Python
  4. Модуль pprint
  5. Работа с временем в Python
  6. Метод Event.wait() в Python
  7. Создание и инициализация объектов
  8. Оператор Walrus в Python 3.8
  9. Оператор in в Python
  10. Удаление файлов и папок в Python
  11. Справка по импортированным модулям
  12. Работа с множествами в Python
  13. Непрерывная проверка в Python
  14. Основные методы NumPy
  15. Структура строк в Python
  16. Объединение списков в Python
  17. Сортировка списка по индексам
  18. Создание спинбокса в tkinter
  19. Метод radd для пользовательских чисел
  20. Хранение переменных в словаре.
  21. Простой калькулятор Python
  22. Python: отсутствие точек с запятыми
  23. Функция eval() в Python
  24. Ускорение выполнения кода в Python
  25. Combobox в Tkinter
  26. Ветвление выражения в Python
  27. Проектирование Singleton с метаклассом
  28. Оператор += для объединения строк
  29. Работа с Colorama
  30. Работа с OpenCV
  31. Метод is_absolute() для PurePath
  32. Подсчет элементов с помощью Counter из collections
  33. Проверка индексов коллекции
  34. Слияние словарей в Python 3.9
  35. Оператор Walrus в Python
  36. Передача аргументов через **arguments
  37. Измерение времени выполнения кода с помощью time
  38. CLI-инструмент howdoi
  39. Команда %dhist — список посещенных каталогов
  40. Оператор «and» в Python
  41. Функции range() в Python
  42. Функция zip() — объединение последовательностей
  43. Генерация случайных чисел в Python
  44. Метод count в Python: почему count(», ») возвращает 4?
  45. Замена текста с re.sub()
  46. Операторы объединения в Python 3.9
  47. Логирование с Loguru

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