What is ast.Dict(keys, values) in Python?
ast.Dict(keys, values) is a class defined in the ast module that is used to express Python dictionaries in the form of an parse() method of ast is called on a Python source code that contains a dictionary, the ast.Dict class is invoked and expresses the dictionary to a node in an ast tree data structure. The ast.Dict class represents the Dict node type in the ast tree. keys and values in the class parameters contain the list of keys and values in the dictionary in their matching order.
Example
import astfrom pprint import pprintclass DictVisitor(ast.NodeVisitor):def visit_Dict(self,node):print('Node type: Dict\nFields: ', node._fields)ast.NodeVisitor.generic_visit(self, node)def visit_Constant(self,node):print('Node type: Constant\nFields: ', node._fields)ast.NodeVisitor.generic_visit(self, node)visitor = DictVisitor()tree = ast.parse('{"Name":Ali, "Age":27}', mode='eval')pprint(ast.dump(tree))visitor.visit(tree)
Explanation
- We define a
DictVisitorclass that extends from the parent classast.NodeVisitor. We override the predefinedvisit_Constantandvisit_Dictmethods in the parent class, which receive theConstantandDictnodes, respectively. In the method, we print the type and the fields inside the node and call thegeneric_visit()method, which invokes the propagation of the visit on the children nodes of the input node. - We initialize a
visitorobject of the classDictVisitor. - We define a Python dictionary
{"Name":Ali, "Age":27}and send it to theast.parse()method withmode='eval', which returns the result of the expression after evaluation, and store it intree. - The
ast.dump()method returns a formatted string of the tree structure intree. - The
visitmethod available to thevisitorobjects visits all the nodes in the tree structure.
Free Resources
Copyright ©2025 Educative, Inc. All rights reserved