все Python 3устарело в 3.9astпонятие
ast.Suite
корень и базовые узлы
Устаревший с 3.9 корневой узел из Python 2; ни ast.parse, ни compile() в Python 3 его не создают и не принимают.
Синтаксис
ast.Suite()
Корней у дерева в Python 3 четыре, и выбираются они параметром mode: Module для 'exec', Expression для 'eval', Interactive для 'single', FunctionType для 'func_type'. Режима 'suite' нет, а compile(ast.Suite(), …) падает с TypeError. Класс сохранён лишь для совместимости и объявлен к удалению вместе с Param, AugLoad и AugStore — новым кодом не используется.
Примеры
import ast
for mode in ('exec', 'eval', 'single'):
print(type(ast.parse('1', mode=mode)).__name__) # → Module / Expression / Interactive
import ast
try:
compile(ast.Suite(), '<ast>', 'exec')
except TypeError as e:
print(e) # → expected Module node, got Suite
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности