Курс 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. Управление контекстом с помощью декоратора contextmanager
  2. Наиболее частотные элементы с помощью Counter
  3. Преобразование PowerPoint в PDF.
  4. Проблемы с dict в Python
  5. Операции со строками в Python
  6. Создание графики с черепахой
  7. Переопределение метода __rshift__
  8. Создание словаря в Python
  9. %pinfo: получение информации об объекте
  10. Присвоение значений переменным в Python
  11. GitHub в Telegram: подписка на уведомления
  12. Расчет времени выполнения кода
  13. Нахождение максимального значения и его индекса в списке
  14. Возврат нескольких значений
  15. Python enumerate() для работы с индексами
  16. Progress с библиотекой tqdm
  17. Метод count() для списка
  18. Блок try…finally в Python
  19. Равенство и идентичность в Python
  20. Форматирование строк в Python
  21. Получение текущей даты и времени
  22. Список переменных с %who
  23. Работа с утверждениями в Python
  24. Бинарный поиск
  25. Отступы в Python
  26. Создание словаря и множества
  27. Модуль xkcd: загрузка комиксов
  28. Измерение времени выполнения кода
  29. Объединение кортежей в Python
  30. Функции в Python
  31. Методы обработки строк в Python
  32. Создание класса в Python
  33. Улучшенные подсказки для импорта в Python 3.12
  34. Шаблоны Flask: условия и циклы
  35. Управление памятью в Python
  36. Удаление символа из строки
  37. Сравнение строк в Python
  38. Добавление кнопки в tkinter
  39. Кортеж в Python: создание, доступ, изменение
  40. Подсказки при вводе данных в Python
  41. Сортировка HTML по CSS-селектору
  42. Переопределение метода __pow__
  43. Работа со временем в Python
  44. Доступ к локальным переменным
  45. Поиск самого длинного слова в списке с использованием max()
  46. Использование модуля __future__
  47. Получение текущей даты в Python

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