在类中调用模块函数

时间:2013-11-01 03:53:25

标签: python class module networkx

我有一个关于在类函数中使用Python结节的问题。

这是我想要创建的tkinter应用程序。当用户加载文本文件时,读入并用于创建NetworkX图形。当我在类中调用read in函数时,它无法访问NetworkX函数。

导致问题的代码行低于self.graph类中的图形对象,而add_node是我想要调用的NetworkX函数。

def __init__ (self, master = None, g = nx.graph, v = 'Some Number')
    #Call varibales
    self.graph = g
    self.value = v

def add_node():
    self.graph.add_node(self.value)

谢谢

1 个答案:

答案 0 :(得分:1)

嗯..当前编写代码的方式,您将类本身(nx.graph)分配给g

那有点不对,你需要实例化nx.graph,所以g就是它的一个实例:

def __init__ (self, master = None, g = nx.graph(), v = 'Some Number')

这样,当你实例化你的类时,g将是nx.graph的一个实例。

或者,您可以在将其分配给self.graph时实例化它:

def __init__ (self, master = None, g = nx.graph, v = 'Some Number')
    #Call varibales
    self.graph = g()
    self.value = v

希望这有帮助!