2017-10-13 106 views
0

我有以下命令:为什么我图中的number_of_edges方法不起作用?

print g.number_of_edges 

,并得到下面的输出

<bound method Graph.number_of_edges of <networkx.classes.graph.Graph object at 0x00000000096512E8>> 

是什么意思输出?

+2

如果'number_of_edges'是一种方法,那么您应该执行'print g.number_of_edges()'来实际调用该方法。当我尝试打印对象本身而不是调用对象并打印其输出时,通常会遇到此输出。 –

+0

[9。 Classes](https://docs.python.org/3/tutorial/classes.html)。欢迎来到SO。请花时间阅读[问]和它包含的链接。 – wwii

+0

可能的重复项:https://stackoverflow.com/q/13130574/2823755 – wwii

回答

1

由于g.number_of_edges是一个类方法,并且没有为该类定义的打印方法,所以Python只会打印关于该对象的知识(存储对象的类名和内存位置)。

而不是print g.number_of_edges使用print g.number_of_edges()。区别在于print g.number_of_edges()调用方法number_of_edges,然后打印其返回值。