【发布时间】:2014-02-21 07:18:11
【问题描述】:
我有一个类,它代表一个树状结构的节点,它存储它的父节点和任何子节点
class Node:
def __init__(self,n, p):
self.name = n
self.parent = p
self.children = []
if p != None:
p.addChild(self)
def setParent(np):
if np != None:
self.parent = np
def addChild(nc):
if nc != None:
children.append(nc)
出于自动化目的,在创建节点时,我希望它调用父节点的addChild 方法以将自身添加到子列表中,但是当节点以这种方式使用父节点初始化时,我得到错误:
TypeError: addChild() takes exactly 1 argument (2 given)
如何从self 获得 2 个参数?也许有更合乎逻辑的方法来解决这个问题?
【问题讨论】:
标签: python class tree initialization