1
我試圖做一個有遞歸'printAll'方法的樹。Python無限遞歸在打印所有的孩子
我的代碼是:
class Node(object):
def __init__(self, children=[], tag=None):
self.children = children
self.tag = tag
def appendChild(self, child):
self.children.append(child)
def getChildren(self):
return self.children
def printAll(self):
print self.getChildren()
for child in self.children:
child.printAll()
當我運行它,我得到這個:「同時呼籲一個Python對象超過最大遞歸深度」。
我猜它與調用子的printAll()方法時導致無限循環時將頂級範圍傳遞給子級有關。任何幫助深表感謝。
可能重複的情況[Python中 「最小驚訝」:易變的默認參數(HTTP://計算器.com/questions/1132941/python-the-mutable-default-argument中的至少驚訝) – wim 2013-02-20 01:46:29