函数调用顺序

时间:2014-11-30 20:48:36

标签: python function

我正在编写一个必须解决任务的程序,并且该任务有很多要点,所以我为每个点创建了一个函数。

在main函数中,我按以下方式调用函数(都返回值):

result = funcD(funcC(funcB(funcA(parameter))))

这种设置函数调用的方式是正确的还是最优的还是有更好的方法吗?

3 个答案:

答案 0 :(得分:2)

首先,正如其他人所说,你的实现是完全有效的,分成多行是提高可读性的好主意。

但是,如果有更多4个功能,我有更好的方法让你的代码更简单。

def chain_func(parameter, *functions):
    for func in functions:
        parameter = func(parameter)
    return parameter

这是基于python可以将函数作为变量传递并在其他函数中调用它。

要使用它,只需简单chain_func(parameter, funcA, funcB, funcC, funcD)

答案 1 :(得分:1)

这种方式没有什么问题。您可以通过这样调用它们来提高可读性:

resultA = funcA(parameter)
resultB = funcB(resultA)
resultC = funcC(resultB)
resultD = funcD(resultC)

但这只是个人偏好和风格的问题。

答案 2 :(得分:1)

如果他们做了什么以及他们返回了什么,那么他们之间的依赖关系也是固定的。所以你没有其他办法,然后按此顺序调用它们。否则,如果不知道他们究竟做了什么,就无法说出来。

是否固定对部分结果的引用:

result1 = funcA(parameter)
#...
result = funcD(result3)

或者在你的问题中提出来打电话给他们并没有产生重大影响。