我正在编写一个必须解决任务的程序,并且该任务有很多要点,所以我为每个点创建了一个函数。
在main函数中,我按以下方式调用函数(都返回值):
result = funcD(funcC(funcB(funcA(parameter))))
这种设置函数调用的方式是正确的还是最优的还是有更好的方法吗?
答案 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)
或者在你的问题中提出来打电话给他们并没有产生重大影响。