我是python的新手,我正在尝试理解一段代码(我不能发布实际的代码),其中包含一个在其代码中引用自身的函数,它似乎不是递归的我无法解决它的影响。 我的意思的一个例子如下:
def function(self):
if self.property == 1:
a = self.object1.function
elif self.property == 2:
a = self.object1.function + self.object2.function
这可能是非常明显的,但是我看不到它,我已经阅读了许多关于递归函数或自引用函数的先前问题,但我找不到任何结构这些线,谢谢!< / p>
答案 0 :(得分:0)
看起来这个函数是一个类的一部分,它是一个递归数据结构,比如一个有子节点的Tree。在这种情况下,每个实例至少有两个子object1
和object2
。
你认为这个function
没有调用自身(递归)是正确的,而是在它的子节点上调用function
方法。
在某些时候,function
将返回一个字符串或数字;假设因为+
if self.property == 2
。
同样,这类似于树数据结构。
class Tree():
def __init__(left, property, right):
self.property = property
self.object1 = left
self.object2 = right