Python Glossary English

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

ast.FloorDiv

операторы

Класс оператора целочисленного деления //: экземпляр FloorDiv() стоит в op узла BinOp или AugAssign (a //= b).

Синтаксис

ast.FloorDiv()  # //

FloorDiv округляет вниз, а не к нулю, но в дереве этого не видно — узел просто называет оператор; -7 // 2 даёт -4. Обычное деление / — класс Div, а остаток % — Mod; divmod(a, b) — это вовсе вызов функции Call, а не BinOp. Узел без полей.

Примеры

import ast
node = ast.parse('-7 // 2', mode='eval').body
print(type(node.op).__name__, type(node.left).__name__)  # → FloorDiv UnaryOp
print(eval(compile(ast.Expression(node), '<x>', 'eval')))  # → -4

См. также

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