Python函数接受一个对象作为参数?

时间:2012-04-14 02:33:46

标签: python function tree

所以我有以下内容:

class Tree(object):
    def__init__(self):
        self.right = None
        self.left = None
        self.val = None

我用我的代码中的东西填充树。

我想写一个

形式的函数
def mult(newVal, node)
    newVal = diff(node.left, newVal, var)
    newVal.append('*')
    newval.append(next(node.right))
    newVal.append('+')
    newVal = diff(node.left, newVal, var)
    newVal.append('*')
    newVal.append(next(node.left))

其中next只是一个遍历树中下一个节点的函数,diff是以下形式的递归函数:

def diff(node, newVal, var):
...
...
    elif(node.val == '*'):
        newVal = diff(node.left, newVal, var)
        newVal.append('*')
        newval.append(next(node.right))
        newVal.append('+')
        newVal = diff(node.left, newVal, var)
        newVal.append('*')
        newVal.append(next(node.left))
...
...

我的“主要”是

    node = Tree()
    newEquation = []
    pos = 0
    pos, newTree = buildTree(node, equation, pos)
    newEquation = diff(newTree, newEquation, variable)
    newEquation = ''.join(newEquation)
    print newEquation

如何编写def mult()函数以接受树节点作为参数,然后再次调用diff()函数?

1 个答案:

答案 0 :(得分:1)

Python没有输入,所以如果你用:

调用mult
mult(newEquation, node)

这应该可以正常工作。