все Python 3astпонятие
ast
модуль
Абстрактное синтаксическое дерево: разобрать код Python в дерево узлов и обойти его.
Синтаксис
import ast
Модуль нужен линтерам, анализаторам и генераторам кода: ast.parse превращает исходник в дерево, по которому можно искать конструкции или переписывать их. Отдельная частая польза — ast.literal_eval, безопасная замена eval для строк с литералами. Дерево описывает синтаксис, а не выполнение: типы и значения переменных в нём не видны.
Примеры
import ast
tree = ast.parse('x = 1 + 2')
print(type(tree.body[0]).__name__) # → Assign
print(ast.literal_eval('[1, 2, 3]')) # → [1, 2, 3]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности