networkx:'super'对象没有属性'node'

时间:2011-11-15 16:59:53

标签: python inheritance superclass networkx

我尝试从networkx.DiGraph扩展一个类

import networkx as nx
class branch(nx.DiGraph):
    def __init__(self,g,raiz):
        self.b=super(branch,self)
        self.b.__init__(g)
        self.r = raiz
    def strong(self):
        print self.b.nodes(),self.b.node[self.r]
        if self.b.node[self.r]['w']>0:                                                                                  
            return 1
        else:
            return 0

如果我执行我得

[1, 'r']
...
AttributeError: 'super' object has no attribute 'node'

我可以使用.nodes()但不能使用.node[],为什么?

1 个答案:

答案 0 :(得分:0)

很简单,因为node[]不存在。相反,nodes()返回一个可以使用[]索引的数组。此代码可能类似于self.b.nodes()[self.r]