Python Glossary English

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