Курс 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. Реализация операции -= для пользовательского класса
  2. Игра Виселица на Python
  3. Генераторы данных
  4. Извлечение новостей с newspaper3k
  5. Игра «Виселица» на Python
  6. Создание словаря через dict comprehension
  7. Многопоточность в Python
  8. Форматирование чисел в Python
  9. Условные выражения в Python
  10. split() — разделение строки
  11. Определение индекса элемента списка
  12. Модуль itertools: комбинации и перестановки
  13. Автоматизация с Python
  14. Преобразование регистра строк
  15. Проверка однородности элементов списка
  16. Гибкие функции Python
  17. Удаление URL-адресов в Python
  18. Нахождение разницы между списками в Python
  19. Преобразование строк в числа в Python
  20. Функция enumerate в Python
  21. Python: библиотеки и функции
  22. Генератор данных в Keras
  23. Генерация тестовых данных с factory_boy
  24. Объединение списков в Python
  25. Создание GUI на Tkinter
  26. Замена атрибута в именованном кортеже
  27. Метод округления чисел
  28. Howdoi — получение ответов из терминала
  29. Расчет времени выполнения программы
  30. Декораторы с аргументами
  31. Метод rxor для операции побитового исключающего «или»
  32. Объединение списков в Python
  33. Обмен данными с asyncio.Queue
  34. Очистка списка от False, None, 0, «»
  35. Работа с пакетами
  36. Модуль subprocess: запуск внешних команд
  37. Преобразование генераторов в циклы
  38. Настройка вывода NumPy
  39. Итераторы с потерямиZIP
  40. Модуль itertools: эффективная работа с итераторами
  41. Печать календаря в Python
  42. Округление дробей в Python
  43. Работа с типами данных в Python с помощью pydantic.
  44. Сериализация объектов в Python

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