Курс 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. Метод rpow в Python
  2. Списки в Python: основы
  3. Пропуск начальных строк с помощью dropwhile()
  4. Форматирование данных с помощью pprint
  5. Использование подчеркивания в REPL
  6. Сортировка данных в Python
  7. Flask: создание веб-приложений
  8. Объединение словарей в Python
  9. Переопределение метода __or__()
  10. Роль ключевого слова self
  11. Генераторные функции в Python
  12. Создание словарей и множеств в Python
  13. Транспонирование 2D-массива с помощью zip
  14. Конструктор в Python
  15. Отделение звука от видео
  16. Вывод сложных структур данных с помощью pprint
  17. Любовь к Python
  18. Создание задания в Cron
  19. Операции со строками в Python
  20. Функция rsplit() в Python
  21. Определение индекса элемента списка
  22. Структура данных deque в Python
  23. Поиск шаблона в строке
  24. Логические значения в Python
  25. Переопределение метода delitem в Python
  26. Списки в Python
  27. Операторы сравнения в Python
  28. Форматирование строк в Python.
  29. Обмен переменными в Jupyter
  30. Объединение словарей в Python
  31. Поиск наиболее частого элемента
  32. Встроенные функции Python
  33. Работа с множествами в Python
  34. Встраивание HTML в Jupyter Notebook
  35. Работа с модулем glob в Python
  36. Многопоточность и асинхронное программирование в Python
  37. Хеширование паролей с солью
  38. Удаление дубликатов из списка с помощью dict.fromkeys
  39. Декораторы в Python
  40. Оператор «not» в Python
  41. Python: Splat-оператор и splatty-splat
  42. Изменение элемента списка
  43. Оценка выражений генератора в Python
  44. Сравнение def и lambda функций в Python
  45. Операторы += в Python
  46. Метод matmul для умножения матриц

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