Курс 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. Основы Python за 14 дней
  3. Сортировка слиянием
  4. Просмотр атрибутов и методов класса
  5. Работа с датами в Python
  6. Автоматизация действий с Pyautogui
  7. Установка и загрузка Instaloader
  8. Лямбда-функции в цикле
  9. Работа с файлами в Python
  10. Форматирование строк в Python
  11. Работа с NumPy
  12. Измерение времени выполнения
  13. Ключевое слово global в Python
  14. Приоритет операций в Python
  15. Удаление дубликатов из списка с помощью dict.fromkeys
  16. Python: динамическая типизация и проверка типов
  17. Defaultdict в Python
  18. Форматирование строк с f-строками
  19. Python: Фильтрация списков с помощью filter()
  20. Показ всплывающих окон Tkinter
  21. Метод rlshift для битового сдвига
  22. Определение объема памяти объекта
  23. Функция pow() — возвести число в степень
  24. Импорт классов из другого файла
  25. Лямбда-функции в Python
  26. Очистка строки в Python
  27. Вычисление разности множеств в Python
  28. Определение функций с необязательными аргументами
  29. Списки в Python
  30. Эффективная конкатенация строк с использованием join()
  31. Проблема с изменяемыми аргументами
  32. Хешируемые ключи в Python
  33. Retrying в Python: повторные вызовы
  34. Измерение потребления памяти при сортировке
  35. Избегайте пустого списка
  36. Игра «Виселица» на Python
  37. Тест скорости набора текста на Python
  38. Именованные срезы в Python
  39. Функциональное программирование.
  40. Создание объекта времени
  41. Подписка на SelectelNews в Twitter
  42. Colorama: окрашивание текста в Python

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