все Python 3astпонятие
ast.mod
корень и базовые узлы
Абстрактный базовый класс корневых узлов: Module, Expression, Interactive и FunctionType. Какой корень получится, решает mode у ast.parse.
Синтаксис
isinstance(tree, ast.mod)
Экземпляров самого mod не бывает: проверка isinstance(tree, ast.mod) просто отличает корень от любого другого узла. Корень зависит от режима: 'exec' → Module, 'eval' → Expression, 'single' → Interactive, 'func_type' → FunctionType. У корней нет lineno — позиции есть у инструкций, выражений и части служебных узлов внутри (arg, keyword, alias, except-ветки).
Примеры
import ast
for mode in ['exec', 'eval', 'single']:
tree = ast.parse('1 + 1', mode=mode)
print(mode, type(tree).__name__, isinstance(tree, ast.mod))
# → exec Module True / eval Expression True / single Interactive True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности