Python 从树创建函数

Python 从树创建函数,python,tree,Python,Tree,假设我有一棵树,其中内部节点是对浮点值的操作,叶节点是浮点终端。现在,我想遍历这棵树并得到结果函数。一种方法可能是: def Execute(tree): result = 0 symbol = tree.data if (symbol in {'/', '*', '+', '-'}): if (symbol == '/'): result = Execute(tree.left) / Execute(tree.right)

假设我有一棵树,其中内部节点是对浮点值的操作,叶节点是浮点终端。现在,我想遍历这棵树并得到结果函数。一种方法可能是:

def Execute(tree):
    result = 0
    symbol = tree.data
    if (symbol in {'/', '*', '+', '-'}):
        if (symbol == '/'):
            result = Execute(tree.left) / Execute(tree.right)
        elif (symbol == '*'):
            result = Execute(tree.left) * Execute(tree.right)
        elif (symbol == '+'):
            result = Execute(tree.left) + Execute(tree.right)
        elif (symbol == '-'):
            result = Execute(tree.left) - Execute(tree.right)
    else:
        return tree.data
    return result

这样做的问题是,每次都需要大量调用Python中的函数。具体来说,有没有办法将此树转换为可以在函数中运行的Python语句列表?

可能重复我可以理解您为什么会这样想,但我无法理解提供的问题答案。我希望能有一些clarification@gustavodidomenico不是复制品。我不是要用Python开发一个简化的表达式。我想要的只是一个函数,我可以在构建树时构造它,我可以执行它,而不是在树中运行。我不想构建所有这些类来实现这一点