Курс 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. Передача словаря через **kwargs
  3. Обновление и получение данных в SQLite
  4. Оператор += в Python
  5. Создание пользовательской коллекции в Python
  6. Возврат нескольких значений из функции
  7. Проверка версии Python
  8. Безопасные SQL-запросы в Python 3.11
  9. Итерация по коллекции в Python
  10. Отладка кода
  11. Работа с набором данных CIFAR10 в PyTorch
  12. Добавление элемента к кортежу
  13. Распаковка элементов массива
  14. Управление IP-адресами через прокси
  15. Изменение списка срезами
  16. Эффективная конкатенация строк с использованием join()
  17. Принципы программирования
  18. Запуск асинхронной корутины
  19. Библиотека funcy: удобные утилиты
  20. Импортирование в Python
  21. Python и Монти Пайтон
  22. Магические методы в Python
  23. Проверка подстроки в строке с помощью in
  24. Поиск самого частого элемента
  25. Протокол управления контекстом
  26. Работа с итераторами в Python
  27. Работа с классами данных
  28. Работа с PosixPath() в Python
  29. Операторы присваивания в Python
  30. Преобразование кортежа в словарь.
  31. Генераторы в Python
  32. Mad Libs Generator
  33. Управление пакетами с pip
  34. Структура данных словарь в Python
  35. Оператор in и not in в Python
  36. Анонимные функции в Python
  37. Удаление элемента по индексу в Python
  38. Решение переменной Шредингера
  39. Повторение элементов списков
  40. Работа с timedelta в Python
  41. Создание генераторов
  42. Работа с NumPy массивами
  43. Удаление дубликатов из списка
  44. Переопределение метода __lshift__
  45. Цикл for с enumerate() в Python

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