如果这个问题有点不清楚,我很抱歉,我不知道怎么说.
我正在使用一个包含一个带有许多可选参数的函数的包.假设有三个参数: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)
Run Code Online (Sandbox Code Playgroud)
有更多的pythonic方式吗?我可以将参数名称分配给某个变量吗?
我将构建一个字典setting作为键,静态值作为值.这样,您就不必进行那种尴尬的切换.
例如:
setting = 'x'
kwargs = {setting: 1}
package.someFunction(**kwargs)
Run Code Online (Sandbox Code Playgroud)
只需更改该setting = 'x'行即可获得该设置.它只需要等于package.someFunction你想要应用值的参数名称.