类“超级”变量

时间:2012-02-15 17:45:15

标签: python class variables

有一个课程如下:

class N: 
    def __init__(self, node_id): 
        self.id = node_id      # id (as an integer for example) 
        self.super = 0 
        self.color = 0 

关于创建节点。如你所见,有一个属性,超级。我想调用超级节点的颜色。

我试图实施:

node.color = node.super.color

但是,这是错误的实施。你知道如何获取其他节点的信息吗?

1 个答案:

答案 0 :(得分:4)

您需要显式地将父节点 - 或至少其颜色 - 传递给类init函数 - 简化节点类无法“猜测”它与其他节点对象的连接方式。

一种方法是:

class N(object):
    def __init__(self, node_id, parent_node):
         self.id = node_ide
         self.parent = parent_node
         self.color = 0
   # and you canget parentnode color with self.node.color