1 2 3 4 5 6 7 8 9 10
| y = ast.parse('2*x+(3+x)', "", "eval")
print ast.dump(y)
#Expression(body=BinOp(left=BinOp(left=Num(n=2), op=Mult(), right=Name(id='x', ctx=Load())), op=Add(), right=BinOp(left=Num(n=3), op=Add(), right=Name(id='x', ctx=Load()))))
print "=>", y.body.left, isinstance(y.body.left, ast.BinOp)
#=> <_ast.BinOp object at 0x021A83D0> True
print "=>", y.body.op, isinstance(y.body.op, ast.Add)
#=> <_ast.Add object at 0x021A3350> True
print "=>", y.body.right, isinstance(y.body.left, ast.BinOp)
#=> <_ast.BinOp object at 0x021A8430> True |
Partager