我有一个函数,根据不同的情况,我正在改变发送给我返回的结果的函数的参数.我想在方法中间确定参数,并且在函数的底部只有一个返回调用.请注意,这不是我的代码的样子,它只是一个例子.我正在使用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