我有一个函数,根据不同的情况,我正在改变发送给我返回的结果的函数的参数.我想在方法中间确定参数,并且在函数的底部只有一个返回调用.请注意,这不是我的代码的样子,它只是一个例子.我正在使用Django,如果那是相关的.
if x:
return func(param1,param2,param3)
elif y:
return func(param4,param5,param6)
elif z:
return func(param7,param8,param9)
我想读这个
if x:
parameters = (param1,param3)
elif y:
parameters = (param4,param6)
elif z:
parameters = (param7,param9)
return func(parameters)
谢谢您的帮助!
解决方法
使用*到
unpack the parameter tuple:
func(*parameters)
演示:
def func(x,y,z):
print x,z
>>> params = (1,2,3)
>>> func(*params)
1 2 3
>>> params = (4,5,6)
>>> func(*params)
4 5 6
