Курс 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. Метод join() для объединения элементов в строку.
  3. Утечки переменных цикла в Python 3.x
  4. Открытие, чтение и закрытие файла
  5. Операции с кортежами
  6. Иерархия классов в Python
  7. Модуль os в Python: работа с файлами
  8. Получение текущего времени в Python
  9. Конкатенация строк с join() в Python
  10. Форматирование чисел в Python
  11. Экспорт внешнего файла с помощью writefile
  12. Переопределение метода xor в Python
  13. Оператор умножения для вектора
  14. Модуль antigravity: генерация координат
  15. Функции в одну строку
  16. Скачать видео с YouTube
  17. Работа с многоуровневыми словарями в Python
  18. Работа с словарями в Python
  19. Работа с SQLite в Python
  20. Конкатенация списков в Python
  21. Цикл for в Python
  22. IPython и Jupyter Notebook: руководство
  23. Скрытие вывода данных
  24. Измерение времени выполнения кода в Python
  25. Списковый компрехеншен.
  26. Условные выражения в Python
  27. Работа с NumPy.linalg
  28. Перезагрузка оператора в Python
  29. Перевод текста с Python Translator
  30. Объединение словарей в Python
  31. Объединение словарей в Python
  32. Передача аргументов через **arguments
  33. Установка пакетов с помощью pip
  34. Синхронизация потоков с time.sleep()
  35. Перевернуть список в Python
  36. Основы работы со списками
  37. Моржовый оператор в Python 3.8
  38. Использование super() в Python
  39. Закрытие файла в Python
  40. Запуск внешних программ с subprocess
  41. Работа с аргументами командной строки
  42. Тип данных TypeVarTuple
  43. Функциональное программирование.
  44. Установка пакета в Python
  45. Объединение списков с помощью zip
  46. Создание функций с произвольным количеством аргументов
  47. Комментарии в Python
  48. Работа с комплексными числами

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