Python Glossary English

все Python 3astфункция

ast.dump()

вспомогательные функции

Возвращает текстовое представление дерева AST с именами узлов и полей. Главный инструмент, чтобы увидеть, как Python видит кусок кода.

Синтаксис

ast.dump(node, annotate_fields=True, include_attributes=False, *, indent=None, show_empty=False)

Вывод зависит от версии: с 3.13 по умолчанию опускаются пустые списки (type_ignores=[]), с 3.15 — ctx=Load(); show_empty=True возвращает их. Поэтому не сравнивайте строки dump между версиями Python. indent=4 печатает дерево лесенкой (с 3.9), а позиции lineno/col_offset появляются только при include_attributes=True. С 3.14 и repr(node) показывает поля, раньше — только адрес объекта.

Примеры

import ast
tree = ast.parse('42', mode='eval')
print(ast.dump(tree))  # → Expression(body=Constant(value=42))
print(ast.dump(tree, annotate_fields=False))  # → Expression(Constant(42))
import ast
tree = ast.parse('42', mode='eval')
print(ast.dump(tree, include_attributes=True))
# → Expression(body=Constant(value=42, lineno=1, col_offset=0, end_lineno=1, end_col_offset=2))

См. также

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