Python Glossary English

все Python 3astпонятие

ast.RShift

операторы

Оператор побитового сдвига вправо >> в поле op узлов BinOp и AugAssign.

Синтаксис

ast.RShift()

Сдвиг слабее сложения: a >> 1 + 1 — это a >> (1 + 1), и в дереве справа от RShift стоит BinOp(Add); ast.unparse расставит скобки только там, где они нужны. Для отрицательных чисел >> округляет вниз (-5 >> 1 == -3), что не совпадает с делением с отбрасыванием дробной части в других языках.

Примеры

import ast
n = ast.parse('a >> 1 + 1', mode='eval').body
print(type(n.op).__name__, type(n.right.op).__name__)  # → RShift Add
print(-5 >> 1)  # → -3

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности