我对python很陌生,我试图理解一段代码(我不能发布实际代码),其中包含一个在代码中引用自身的函数,它似乎不是递归的,我无法计算出它的效果。下面是我的意思的一个例子:
def function(self):
if self.property == 1:
a = self.object1.function
elif self.property == 2:
a = self.object1.function + self.object2.function
这可能真的很明显,但我看不到它,我已经读了很多关于递归函数或自引用函数之前的问题,但我找不到任何结构化沿着这些行,谢谢!
这个函数似乎是一个递归数据结构类的一部分,比如一个有子节点的树。在本例中,每个实例至少有两个子节点object1
和object2
。
你是正确的假设这个function
不是调用自己(递归),而是调用function
方法对它的孩子。
在某个点,function
将返回字符串或数字;假设因为+
是self.property == 2
。
同样,这类似于Tree数据结构。
class Tree():
def __init__(left, property, right):
self.property = property
self.object1 = left
self.object2 = right