What is ast.Import(names) in Python?
ast.Import(names) is a class defined in the ast module that is used to express the import statement in python in the form of an
When the parse() method of ast is called on a Python source code that contains the import keyword, the ast.Import class is invoked, which expresses the import statement to a node in an ast tree data structure.
The ast.Import class represents the Import node type in the ast tree. In the class parameter, names contains the list of alias nodes representing modules that need to be imported.
Note: If the
importstatement is preceded by thefromkeyword, thenast.ImportFromclass is invoked instead.
Example
import astfrom pprint import pprintclass ImportVisitor(ast.NodeVisitor):def visit_Import(self, node):print('Node type: Import\nFields:', node._fields)ast.NodeVisitor.generic_visit(self, node)def visit_alias(self, node):print('Node type: alias\nFields:', node._fields)ast.NodeVisitor.generic_visit(self, node)visitor = ImportVisitor()tree = ast.parse('import socket, threading')pprint(ast.dump(tree))visitor.visit(tree)
Explanation
- We define a
ImportVisitorclass that extends from the parent classast.NodeVisitor. We override the predefinedvisit_Importandvisit_aliasmethods in the parent class, which receive theImportandaliasnodes, respectively. In the method, we print the type and the fields inside the node and call thegeneric_visit()method, which invokes the propagation of visit on the children nodes of the input node. - We initialize a
visitorobject of the classImportVisitor. - We write the Python statement
import socket, threadingand send it to theast.parse()method, which returns the result of the expression after evaluation, and then store it intree. - The
ast.dump()method returns a formatted string of the tree structure intree. - The
visitmethod available to thevisitorobject visits all the nodes in the tree structure.
Free Resources
Copyright ©2025 Educative, Inc. All rights reserved