在python脚本中建立一个自引用函数的动作



我对python很陌生,我试图理解一段代码(我不能发布实际代码),其中包含一个在代码中引用自身的函数,它似乎不是递归的,我无法计算出它的效果。下面是我的意思的一个例子:

def function(self):
    if self.property == 1:
        a = self.object1.function
    elif self.property == 2:
        a = self.object1.function + self.object2.function

这可能真的很明显,但我看不到它,我已经读了很多关于递归函数或自引用函数之前的问题,但我找不到任何结构化沿着这些行,谢谢!

这个函数似乎是一个递归数据结构类的一部分,比如一个有子节点的树。在本例中,每个实例至少有两个子节点object1object2

你是正确的假设这个function不是调用自己(递归),而是调用function方法对它的孩子。

在某个点,function将返回字符串或数字;假设因为+self.property == 2

同样,这类似于Tree数据结构。

class Tree(): def __init__(left, property, right): self.property = property self.object1 = left self.object2 = right

最新更新