再帰を使用する必要があるメソッドを実装しようとしていますが、毎回、global name not defined
My class look like this というエラーが表示されます。
class MyClass(object):
def _init_(self, name=None, content=None):
self.name = name
self.content = content
それはノードクラスであり、名前は単なるテキスト文字列であり、内容はその子のリスト (ノードでもあります) として初期化されますNone
が、ツリーを構築する構築関数は、子がない場合は空白のリストを与えます。クラスは正常に機能し、関数も正常に機能しますが、メソッドに再帰を追加しようとすると、スタンドアロン関数として正常に機能しても機能しません。つまり、次のようになります。
def get_nodes(self):
c = []
c.append(self.name)
if self.content != []:
for a in self.content:
c.extend(get_nodes(a))
return c
これが可能であることはわかっていますが、何が間違っていますか?