<p><code>ast</code>模块提供了一个您可能会发现有用的<code>iter_child_nodes</code>函数。在</p>
<pre><code>def iter_child_nodes(node):
"""
Yield all direct child nodes of *node*, that is, all fields that are nodes
and all items of fields that are lists of nodes.
"""
for name, field in iter_fields(node):
if isinstance(field, AST):
yield field
elif isinstance(field, list):
for item in field:
if isinstance(item, AST):
yield item
`
</code></pre>