假设我有一个带有此签名的函数:
def foo(a=5, b=10, c=15)
假设我还有一个变量x,其值为'a','b'或'c'。实际上,我想要做的是:
foo(**{x: 7})
但似乎可能有一种更直接的方式来做到这一点。我的怀疑是否正确?
答案 0 :(得分:6)
每当你想做一些通常是静态的动态时,Python通常会强迫你明确它(因为explicit is better than implicit)。
所以,在这种情况下,是的,foo(**{x: 7})
可能是编写它的最pythonic方式。