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): 是有部分重复的,但是这两个方法在后文都是需要的,请问大师应该怎么改呢?
展开
 我来答
kwydwuf
推荐于2016-08-07 · TA获得超过7410个赞
知道大有可为答主
回答量:1527
采纳率:71%
帮助的人:2005万
展开全部

可以调用,比如下面,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的只是函数的返回值而已,和类实例有什么关系? 一个成员函数是否有返回值,之和你这个函数要实现的功能有关。 你还是先搞清楚函数、类的基本概念。没有搞清之前,建议先别搞类,先写写单纯由函数组成的代码。
yycgis
2014-04-24 · TA获得超过8267个赞
知道大有可为答主
回答量:6831
采纳率:63%
帮助的人:1577万
展开全部
你好,如下:
python中类内部的函数是可以互相调用的;
函数重复也没关系啊,只要是知道,
是什么功能,在特定的时候触发就行了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式