Python Glossary English

все Python 3astпонятие

ast.Interactive

корень и базовые узлы

Корневой узел для режима mode='single': одна интерактивная строка, как во входе REPL; в body — список инструкций.

Синтаксис

ast.parse(source, mode='single')  # → ast.Interactive

Отличие от Module не в форме, а в смысле: код, скомпилированный в режиме 'single', печатает значения выражений-инструкций, как это делает REPL, — exec(compile('1 + 2', '<in>', 'single')) выведет 3, а режим 'exec' промолчит. Режим принимает одну логическую строку или одну составную инструкцию; две строки подряд — SyntaxError.

Примеры

import ast
tree = ast.parse('x = 1; y = 2', mode='single')
print(type(tree).__name__, len(tree.body))  # → Interactive 2
exec(compile(ast.parse('1 + 2', mode='single'), '<in>', 'single'))
# → 3
import ast
try:
    ast.parse('x = 1\ny = 2', mode='single')
except SyntaxError as e:
    print(type(e).__name__)  # → SyntaxError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности