Курс 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. Defaultdict в Python
  2. Игра «Камень, ножницы, бумага» — Python
  3. PUT запрос для обновления данных
  4. Управление фоновыми задачами в Python
  5. Проверка на истинность объектов в Python
  6. Профилирование кода на Python
  7. Функция __init__ в Python
  8. Переименование файлов в Python
  9. Методы shutil для работы с файлами
  10. Оптимизация создания строк
  11. Получение срезов итераторов
  12. Работа с timedelta в Python
  13. Подсчет количества элементов в списке
  14. Работа с CSV файлами
  15. Тип CodeType в Python.
  16. Установка виртуального окружения Python
  17. Итераторы в Python
  18. Преобразование данных в Python
  19. Просмотр файла в Jupyter Noteboo
  20. Замеры производительности в Python
  21. Переопределение метода __rshift__
  22. Python: цикл for и оператор присваивания
  23. Сравнение строк в Python
  24. Оптимизация методов в Python 3.7
  25. Работа с Colorama
  26. Генераторные функции в Python
  27. Блок else в обработке исключений
  28. Метод join() с набором
  29. Библиотека schedule: планировщик задач
  30. Enum в Python
  31. Метод hash в Python
  32. EMOT преобразование эмодзи в текст
  33. Создание и операции с дробями
  34. Открытие и редактирование скриптов Python
  35. Python Ellipsis использование
  36. Представление бесконечности в Python
  37. Оператор += в Python
  38. Логирование с Logzero
  39. Инверсия списка и строки в Python
  40. Вставка переменных в шаблоны Flask
  41. Измерение времени выполнения кода в Python
  42. Удаление и повторная вставка ключа в OrderedDict
  43. Преобразование регистра строк

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