все Python 3astпонятие
ast.Div
операторы
Класс оператора истинного деления /: экземпляр Div() стоит в op узла BinOp или AugAssign (a /= b). Целочисленное деление // — отдельный класс FloorDiv.
Синтаксис
ast.Div() # /
Имя класса — Div, хотя функция модуля operator называется truediv: в Python 2 / делил нацело для целых, а имя узла осталось прежним. Поиск делений, способных дать ZeroDivisionError, должен смотреть и на Div, и на FloorDiv, и на Mod — все три падают на нуле. Узел без полей.
Примеры
import ast
for src in ['a / b', 'a // b', 'a /= b']:
tree = ast.parse(src).body[0]
node = tree.value if isinstance(tree, ast.Expr) else tree
print(type(node.op).__name__)
# → Div / FloorDiv / Div
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности