все Python 3astфункция
ast.iter_fields()
вспомогательные функции
Перебирает пары (имя поля, значение) узла в порядке _fields. Позволяет работать с любым узлом, не зная его класса заранее.
Синтаксис
for name, value in ast.iter_fields(node): ...
Значение — что угодно: другой узел, список узлов, строка, число или None, так что перед обходом проверяйте тип. Атрибуты позиции (lineno, col_offset) полями не являются и сюда не попадают — они перечислены в _attributes. Узлы-потомки удобнее получать iter_child_nodes, а iter_fields нужен, когда важны и имена полей.
Примеры
import ast
node = ast.parse('a + 1', mode='eval').body
for name, value in ast.iter_fields(node):
print(name, type(value).__name__) # → left Name / op Add / right Constant
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности