flag = True
def myFuncA( a, b ):
return a * b
def myFuncB( a, b ):
return a -b
# define the order of calls based on flag
if flag:
functionSequence = [myFuncA, myFuncB]
else:
functionSequence = [myFuncB, myFuncA]
# call function in the given order
for curFunc in functionSequence:
print( curFunc(3,4))
我会这样做:
更改测试的Flag值,以查看它是否适用于您
我在这里看到的最大好处是,代码解释了它在做什么。它首先根据条件定义调用顺序,然后按给定顺序执行这些调用。 它也很容易扩展
将A和B封装在函数中,然后可以执行以下操作:
考虑到你的代码是绝对好的,我们不能做得更好,因为它是可以理解的。尽管如此,我们仍然可以通过以下方式获得一些风格点并制造一些敌人:
处理不同的参数也可以通过微小的调整来实现
示例(假设
'foo'
和'bar'
是参数1
和2
是函数):当然,您不希望在生产代码中使用类似的内容
请注意,目前的情况是,如果
condition
的计算结果为True
,则首先执行B
。如果您希望它是另一种方式,请将(-1)**(condition)
更改为2*(condition)-1
或在condition
前面放置一个not
相关问题 更多 >
编程相关推荐