Курс 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
  3. Изменение элемента списка
  4. split() без разделителя
  5. Основы работы с базами данных в Python
  6. Курс Data Scientist в медицине
  7. Извлечение данных из JSON
  8. Python: отсутствие точек с запятыми
  9. Управление мышью и клавиатурой с Pyautogui
  10. Распаковка значений в Python
  11. Сортировка элементов с OrderedDict
  12. Вывод баннеров
  13. Стать Python-разработчиком
  14. Сортировка с помощью key
  15. Отправка POST запроса на сервер.
  16. Создание новых списков
  17. Оператор walrus в Python
  18. Поиск всех индексов подстроки
  19. Лямбда-функции в Python
  20. Получение пути к текущему скрипту с помощью os
  21. Метод matmul для умножения матриц
  22. Копирование в Python
  23. Именованные кортежи в Python
  24. Получение текущей даты и времени
  25. Генераторы в Python
  26. Параллельные вычисления в Python
  27. Управление пакетами с pip
  28. Работа с CSV файлами в Python
  29. Декораторы в Python
  30. Оператор Walrus в Python 3.8
  31. Замена подстроки
  32. Добавление Progressbar в Python
  33. Роль object и type в Python
  34. Работа с collections.Counter
  35. Работа с файлами в Python
  36. Защита данных в Python
  37. Частичное применение функций в Python
  38. Обработка данных в Python
  39. Функция enumerate() — Python
  40. Функции min(), max(), sum()
  41. Расчет времени выполнения
  42. Работа с буфером обмена на Python
  43. Установка пакетов с помощью pip
  44. Именованные срезы в Python

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