我正在寻找这些选项工作流程的比较(#1和#2如下)。 所以我正在使用函数xx()调用另一个x()函数。这是通用编程工作流程(代码是python语法,但流逻辑可以应用于任何其他语言)。
因此选项#1显示工作流,我必须将参数从一个函数传递到另一个函数,而在#2中我不必传递所有参数,只需将第一个函数的输出作为第二个函数的参数。
def x(a):
<code>
return value
def xx(a):
x=x(a)
<code>
return value
print xx(a)
def x(a):
<code>
return value
def xx(x):
<code>
return value
x=x(a)
print xx(x)
这只是一个简单的例子。到目前为止,我在选项#1中发现,传递给x()的每个参数都必须传递给xx()。传递一个参数时的示例(这是我不使用*或**传递多个参数的基本示例):
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)
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的理由是什么。
答案 0 :(得分:3)
select_color_from_obj
似乎是一项不必要的功能。你可以打电话
get_obj().color()
如果get_obj()
与其他代码在同一范围内,您可以直接使用
obj.color()
但是,如果obj
的定义出现在其他文件中,那么get_obj
可能会有用。