Курс 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. Оператор walrus в Python
  2. Генератор чисел Фибоначчи
  3. Моржовый оператор в Python 3.8
  4. Генерация случайных данных в NumPy
  5. Удаление пробелов методом translate()
  6. История Python
  7. Defaultdict в Python
  8. Аннотации типов в Python
  9. Получение текущей даты и времени
  10. Python: Splat-оператор и splatty-splat
  11. Использование метода lower()
  12. Создание списка через цикл
  13. Генераторные выражения и islice.
  14. Атрибуты массивов в Numpy
  15. Декоратор проверки активности
  16. Генераторы списков в Python
  17. Модуль itertools: комбинации и перестановки
  18. Аннотации типов в Python
  19. Генерация чисел с range()
  20. Использование super() в Python
  21. Измерение времени выполнения кода
  22. Работа с областями видимости переменных
  23. Измерение времени выполнения кода с использованием time
  24. Функции-генераторы в Python
  25. Вывод с переменной через запятую
  26. Преобразование чисел в Python
  27. Работа с контекстным менеджером Pool
  28. Цикл for с enumerate() в Python
  29. Нахождение самого длинного слова в списке с помощью max
  30. Конвертация коллекций в Python
  31. Разность множеств
  32. Передача неизвестных аргументов в Python.
  33. Роль запятой в Python
  34. Сравнение def и lambda-функций
  35. Лямбда-функции в Python
  36. Flask: создание веб-приложений
  37. Взаимодействие с sys
  38. JSON-esque в Python
  39. Комментарии в Python
  40. Избегание циклических зависимостей классов в Python
  41. Создание вложенного генератора
  42. Искажение имен в Python
  43. Сортировка слиянием
  44. Удаление дубликатов в pandas
  45. Присвоение и ссылки
  46. Генератор данных в Keras

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