假设我有一个带有这个签名的函数:
def foo(a=5, b=10, c=15)
假设我还有一个变量 x,其值为“a”、“b”或“c”。实际上,我想做的是:
foo(**{x: 7})
但似乎有一种更直接的方法可以做到这一点。我的怀疑是否正确?
最佳答案
每当您想做一些通常是静态的动态事情时,Python 通常会强制您明确说明(因为 explicit is better than implicit )。
所以,在这种情况下,是的,foo(**{x: 7})
可能是最符合 Python 风格的编写方式。
关于python - 传递一个关键字参数和一个保存关键字字符串的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21269078/