用变量名

时间:2016-08-04 20:27:19

标签: python

对不起,如果问题有点不清楚,我不确定该怎么说。

我正在使用一个包含一个带有许多可选参数的函数的包。假设有三个参数: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方式吗?我可以将参数名称分配给某个变量吗?

1 个答案:

答案 0 :(得分:5)

我会构建一个以setting为键,静态值为值的字典。这样,您就不必进行那种尴尬的转换。

例如:

setting = 'x'
kwargs = {setting: 1}
package.someFunction(**kwargs)

只需更改setting = 'x'行即可获得该设置。它只需要等于package.someFunction中要将值应用于。{/ p>的参数的名称