все 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Сообщить о неточности