对不起,如果问题有点不清楚,我不确定该怎么说。
我正在使用一个包含一个带有许多可选参数的函数的包。假设有三个参数:x,y,z。我将始终传递相同的值,只是传递给不同的参数。所以我可以这样做:
if setting is x:
package.someFunction(x=1)
elif setting is y:
package.someFunction(y=1)
elif setting is z:
package.someFunction(z=1)
有更多的pythonic方式吗?我可以将参数名称分配给某个变量吗?
答案 0 :(得分:5)
我会构建一个以setting
为键,静态值为值的字典。这样,您就不必进行那种尴尬的转换。
例如:
setting = 'x'
kwargs = {setting: 1}
package.someFunction(**kwargs)
只需更改setting = 'x'
行即可获得该设置。它只需要等于package.someFunction
中要将值应用于。{/ p>的参数的名称