这是我想要实现的目标。我正在尝试阅读树(让我们说一个文件夹结构)。 我想在这个树中定义一个通用节点,这个对象的初始化应该触发树遍历,如下所示
class node():
def __init__(self, name, parent, children=[]):
self.name = name
self.parent = parent
self.children = children
nodes = "code to find children"
for child in nodes:
children.append(node(childname, self.name))
def main():
Tree = node("root", "")
初始化此初始对象时,它应包含完整的树。这是为python。这会有用吗?
答案 0 :(得分:4)
是的,您可以在__init__
方法中引用该类,并且可以使用它来创建同一类的更多实例。你的方法有效。
请注意children=[]
默认参数;这将创建一个共享列表,为该方法存储一次。请参阅"Least Astonishment" and the Mutable Default Argument,了解为什么会让您失意,以及如何避免这个问题。