Курс 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. Проверка типов с помощью isinstance
  2. Оператор is в Python
  3. Генераторы в Python
  4. Удаление элементов из списка в Python
  5. Удаление файлов с shutil.os.remove()
  6. Печать календаря в Python
  7. Работа с комбинациями в Python.
  8. Инвертирование словаря
  9. Итерация по итерируемым объектам
  10. Форматирование строк в Python
  11. Декораторы в Python
  12. Python: динамическая типизация и проверка типов
  13. Создание вложенного генератора
  14. Блок else в циклах Python
  15. Виртуальные среды в Python
  16. Декоратор проверки активности
  17. Анализ кода — Python
  18. Создание и инициализация объектов
  19. Профилирование кода
  20. Глобальные переменные в Python
  21. Оптимизация памяти с помощью __slots__
  22. Генерация случайных данных в NumPy
  23. Разрешение имен в Python
  24. Структурирование именованных констант
  25. Переворот списка в Python
  26. Генерация тестовых данных с factory_boy
  27. Вывод переменной и строки в Python
  28. Модуль subprocess: запуск внешних команд
  29. Объединение словарей в Python
  30. Управление пакетами с pip
  31. HTTP-запросы с библиотекой Requests
  32. Построение графиков в Matplotlib
  33. Python: библиотеки и функции
  34. Основы Python
  35. Метод count() для списков
  36. Философия Python
  37. Переворот списка в Python
  38. Antigravity модуль
  39. Python: отсутствие точек с запятыми
  40. Методы обработки строк в Python
  41. Работа с файлами в Python
  42. Обработка исключения UnboundLocalError
  43. Работа с SQLite в Python
  44. Работа с индексами списков
  45. Метод rsub в Python: расширение функциональности вычитания
  46. Перемещение и удаление файлов в Python
  47. Python Тесты и Гайды
  48. Импорт модулей в Python 3.12
  49. Показ всплывающих окон Tkinter
  50. Список переменных с %who

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