Курс 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. Операторы увеличения и уменьшения в Python
  2. Преобразование генераторов в циклы
  3. Создание лямбда-функций
  4. Numpy: использование Ellipsis
  5. Перевод эмодзи и эмотиконов.
  6. Оптимизация интернирования строк
  7. Работа с контекст-менеджером «with»
  8. Python Менеджер контекста
  9. Скачать видео с YouTube
  10. Список переменных в Python
  11. Переопределение метода xor в Python
  12. Работа с *args и **kwargs в Python
  13. Удаление пробелов методом translate()
  14. Работа с CSV файлами
  15. Базовые объекты Python
  16. Асинхронное программирование с asyncio
  17. Python и Монти Пайтон
  18. Ограничение итераций в Python
  19. Работа с библиотекой requests
  20. Генераторы и сеты в Python
  21. Декораторы с @wraps
  22. Оценка выражений генератора в Python
  23. PATCH-запрос с библиотекой requests
  24. Определение объема памяти объекта
  25. Многоточие в Python
  26. Оптимизация гиперпараметров в Python
  27. Создание уникального множества
  28. Изменение списка срезами
  29. Python groupby() из itertools: работа с повторяющимися элементами
  30. Работа с модулем random
  31. Проблемы с именами переменных
  32. Нахождение пересечения множеств
  33. Функция format() в Python
  34. Область видимости переменных
  35. Автоматизация с Python
  36. Вычисление разности множеств в Python
  37. Проверка существования переменной с оператором :=
  38. Декораторы в Python
  39. Python Метод del.
  40. Создание комплексных чисел
  41. Метаклассы в Python
  42. None в Python: использование и особенности
  43. Игра «Виселица» на Python
  44. Функция zip() в Python
  45. Работа с модулем random
  46. Срезы в Numpy

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