Курс 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. Функции map() и reduce() в Python
  2. Явный импорт в Python
  3. Метод pos в Python
  4. Декораторы в Python
  5. Инверсия списка и строки в Python
  6. Преобразование данных в Python
  7. Получение ID процесса
  8. Применение функции к списку
  9. Работа со строками в Python
  10. Изучение объектов с помощью dir()
  11. Создание веб-приложения с Flask
  12. Генераторы в Python
  13. Форматирование строк в Python
  14. Python и Монти Пайтон
  15. Объединение кортежей в Python
  16. Подсчет элементов в Python
  17. Docstring в Python
  18. Измерение времени выполнения кода
  19. Обновление данных через PUT запрос
  20. Основы работы с базами данных в Python
  21. Преобразование строки в число
  22. Регулярные выражения в Python
  23. Метод remove() для удаления элемента из списка
  24. Логирование в Python
  25. Замена текста с помощью sub
  26. Операторы увеличения и уменьшения в Python
  27. Поиск с помощью регулярных выражений
  28. Глобальные переменные в Python
  29. Список переменных в Python
  30. Удаление элемента по индексу в Python
  31. Установка библиотек в Python
  32. Работа с множествами в Python
  33. Лямбда-функции в Python
  34. Модуль inspect: получение информации о объектах
  35. Удаление файлов в Python
  36. Метод hash в Python
  37. Списки: объединение, изменение
  38. Работа с *args и **kwargs в Python
  39. Создание коллекций из генератора
  40. Управление памятью в Python
  41. Пересечение списков с использованием множеств
  42. Сортировка с помощью key
  43. Распаковка аргументов в Python
  44. Работа с комплексными числами в Python
  45. Оператор space-invader
  46. Функция format() в Python
  47. Работа с IP-адресами в Python

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