2011-11-15 37 views
0

我試着從networkx.DiGraphnetworkx:「超級」對象有沒有屬性「節點」

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 

擴展一個類。如果我執行我得到

​​

我可以使用.nodes()但沒有.node[] ,爲什麼?

回答

0

很簡單,因爲node[]不存在。相反,nodes()返回一個數組,您可以使用[]進行索引。這個代碼看起來像self.b.nodes()[self.r]

+0

這是真的,但並沒有解決OP對OOP的誤解。沒有理由在這裏使用'super':'self.nodes()'也可以。 –

+0

@DanielRoseman,謝謝你對self.nodes的評論()我明白了更多 – JuanPablo

+0

@DanielRoseman,並用'self.node [self.r]'我解決了這個問題,你可以把你的評論作爲答案? – JuanPablo