What is ast.Tuple(elts, ctx) in Python?
ast.Tuple(elts, ctx) is a class defined in the ast module that is used to express Python tuples in the form of an
When the parse() method of ast is called on a Python source code that contains a tuple, the ast.Tuple class is invoked, which expresses the tuple to a node in an ast tree data structure.
The ast.Tuple class represents the Tuple node type in the ast tree. In the class parameter, elts contains the list of nodes representing the elements in the tuple. ctx is Store() if the tuple is being destructured (i.e., (x,y)=something); otherwise, it is Load().
Example
import astfrom pprint import pprintclass TupleVisitor(ast.NodeVisitor):def visit_Tuple(self,node):print('Node type: Tuple\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 = TupleVisitor()tree = ast.parse('(2,4,6)', mode='eval')pprint(ast.dump(tree))visitor.visit(tree)
Explanation
- We define a
TupleVisitorclass that extends from the parent classast.NodeVisitor. We override the predefinedvisit_Constantandvisit_Tuplemethods in the parent class, which receive theConstantandTuplenodes, 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 classTupleVisitor. - We define a Python tuple
(2,4,6)and send it to theast.parse()method withmode='eval', which returns the result of the expression after evaluation and stores 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 ©2026 Educative, Inc. All rights reserved