使用包含关键字字符串的变量传递关键字参数

时间:2014-01-21 21:05:04

标签: python keyword-argument

假设我有一个带有此签名的函数:

def foo(a=5, b=10, c=15)

假设我还有一个变量x,其值为'a','b'或'c'。实际上,我想要做的是:

foo(**{x: 7})

但似乎可能有一种更直接的方式来做到这一点。我的怀疑是否正确?

1 个答案:

答案 0 :(得分:6)

每当你想做一些通常是静态的动态时,Python通常会强迫你明确它(因为explicit is better than implicit)。

所以,在这种情况下,是的,foo(**{x: 7})可能是编写它的最pythonic方式。