In [1]:
# https://docs.python.org/2/library/ast.html
import ast
print(list(ast.walk(ast.parse('2 + 3'))))
print(list(ast.walk(ast.parse('2 == 3'))))
In [11]:
def validate_number(expression):
nodes = list(ast.walk(ast.parse(expression)))
print(nodes)
assert isinstance(nodes[1], ast.Expr)
assert isinstance(nodes[2], ast.Compare)
assert isinstance(nodes[2].ops[0], ast.Eq)
assert isinstance(nodes[3], ast.Num)
print(nodes[3].n)
assert isinstance(nodes[4], ast.Eq)
print(nodes[5].n)
validate_number('2 == 3')
In [ ]: