ast.Invert is a class defined in the
ast module that extends the
ast.UnaryOp class and is used to express the
~ (invert) operator in Python in the form of an
parse() method of
ast is called on a Python source code that contains a unary operator such as the invert operator, the
ast.Invert class is invoked to convert the invert operation to an
ast tree data structure.
~is the bitwise NOT operator that inverts all the bits.
import ast from pprint import pprint class UnaryOpVisitor(ast.NodeVisitor): def visit_UnaryOp(self, node): print('Node type: UnaryOp\nFields: ', node._fields) self.generic_visit(node) def visit_Constant(self,node): print('Node type: Constant\nFields: ', node._fields) ast.NodeVisitor.generic_visit(self, node) visitor = UnaryOpVisitor() tree = ast.parse('~4000', mode='eval') pprint(ast.dump(tree)) visitor.visit(tree)
UnaryOpVisitorclass that extends from the parent class
ast.NodeVisitor. We override the predefined
visit_Constantmethods in the parent class, which receive the
Constantnodes, respectively. In the method, we print the type and the fields inside the node and call the
generic_visit()method, which invokes the propagation of the visit on the children nodes of the input node.
visitorobject of the class
~4000and send it to the
mode='eval', which returns the result of the expression after evaluation and store it in
ast.dump()method returns a formatted string of the tree structure in
visitmethod available to the
visitorobjects visits all the nodes in the tree structure.
View all Courses