python中类内部的函数可以互相调用吗?
classNodeNetwork:def__init__(self,source,filename):self.source=sourceself.filename=fi...
class NodeNetwork:
def __init__(self,source,filename):
self.source=source
self.filename=filename
def GG(self):
#将列表C中的节点和权重附加到多向图G中。
c = []
G=nx.MultiDiGraph()
for line in open(self.filename):
items = line.strip().split()
c.append(items)
print c
G.add_weighted_edges_from(c)
GG=nx.Graph()
for n,nbrs in G.adjacency_iter():
for nbr,edict in nbrs.items():
maxvalue=max([w['weight'] for w in edict.values()])
GG.add_edge(n,nbr, weight = maxvalue)
return GG
def findPathRoad(self,m):
c = []
G=nx.MultiDiGraph()
for line in open(self.filename):
items = line.strip().split()
c.append(items)
print c
G.add_weighted_edges_from(c)
GG=nx.Graph()
for n,nbrs in G.adjacency_iter():
for nbr,edict in nbrs.items():
maxvalue=max([w['weight'] for w in edict.values()])
GG.add_edge(n,nbr, weight = maxvalue)
return GG
e=nx.shortest_path(GG,self.source,)
d={}
for key in e:
if len(e[key])>m+1:
continue
else:
d[key]=e[key]
#print 'd[key][1:-1]',d[key][1:-1]
return d
可以看到def GG(self):和 def findPathRoad(self,m): 是有部分重复的,但是这两个方法在后文都是需要的,请问大师应该怎么改呢? 展开
def __init__(self,source,filename):
self.source=source
self.filename=filename
def GG(self):
#将列表C中的节点和权重附加到多向图G中。
c = []
G=nx.MultiDiGraph()
for line in open(self.filename):
items = line.strip().split()
c.append(items)
print c
G.add_weighted_edges_from(c)
GG=nx.Graph()
for n,nbrs in G.adjacency_iter():
for nbr,edict in nbrs.items():
maxvalue=max([w['weight'] for w in edict.values()])
GG.add_edge(n,nbr, weight = maxvalue)
return GG
def findPathRoad(self,m):
c = []
G=nx.MultiDiGraph()
for line in open(self.filename):
items = line.strip().split()
c.append(items)
print c
G.add_weighted_edges_from(c)
GG=nx.Graph()
for n,nbrs in G.adjacency_iter():
for nbr,edict in nbrs.items():
maxvalue=max([w['weight'] for w in edict.values()])
GG.add_edge(n,nbr, weight = maxvalue)
return GG
e=nx.shortest_path(GG,self.source,)
d={}
for key in e:
if len(e[key])>m+1:
continue
else:
d[key]=e[key]
#print 'd[key][1:-1]',d[key][1:-1]
return d
可以看到def GG(self):和 def findPathRoad(self,m): 是有部分重复的,但是这两个方法在后文都是需要的,请问大师应该怎么改呢? 展开
2个回答
展开全部
可以调用,比如下面,common_func被多个函数调用。
class MyClass:
def __init__(self):
pass
def func1(self):
# do something
self.common_func()
def func2(self):
# do something
self.common_func()
def common_func(self):
pass
追问
如果多个函数中有return,那么实例化MyClass得到的是什么东西?
追答
return的只是函数的返回值而已,和类实例有什么关系? 一个成员函数是否有返回值,之和你这个函数要实现的功能有关。 你还是先搞清楚函数、类的基本概念。没有搞清之前,建议先别搞类,先写写单纯由函数组成的代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询