【发布时间】:2012-05-01 15:40:18
【问题描述】:
我正在寻找这些选项工作流程的比较(如下 #1 和 #2)。 所以我正在使用调用另一个 x() 函数的函数 xx()。这是通用的编程工作流程(代码是 python 语法,但流程逻辑可以适用于任何其他语言)。
所以选项#1 显示了我必须将参数从一个函数传递给另一个函数的工作流程,而在#2 中我不必传递所有参数,只需将第一个函数的输出作为参数传递给第二个函数。
选项#1:
def x(a):
<code>
return value
def xx(a):
x=x(a)
<code>
return value
print xx(a)
选项#2:
def x(a):
<code>
return value
def xx(x):
<code>
return value
x=x(a)
print xx(x)
这只是一个简单的例子。到目前为止,我在选项#1 中发现传递给 x() 的每个参数也必须传递给 xx()。传递大量参数时的示例(这是我不使用 * 或 ** 传递多个参数的基本示例):
选项#1
def x(a1,a2,….a100):
<code>
return value
def xx(b1,b2,…..b100):
x=x(b1,b2,….b100)
<code>
return value
print xx(45,'test',....,999)
选项#2
def x(a1,a2,….a100):
<code>
return value
def xx(x):
<code>
return value
x=x(45,'test',....,999)
print xx(x)
在 #1 中,我必须做很多“打字”来输入要传入 def xx() 的参数,另一方面,#2 更干净,更易于调试。那么你们对这些工作流程有什么看法?工作流#1 有什么优势吗? #2通常更好吗?你怎么看?选择 #1 或 #2 的原因是什么。
【问题讨论】:
-
答案当然是使用 OOP。
-
thanx ,我已经修改了代码,所以它不是 oop 样式。前面的例子可能不是正确的。我让它更通用。
标签: python function workflow arguments