python - 传递一个关键字参数和一个保存关键字字符串的变量

标签 python keyword-argument

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

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/

相关文章:

python - 如何检查 *args[0] 是否存在?

python - 以 AM/PM 格式绘制 Pandas Datetime 时间序列

python - 获取 python stdlib 版本,而不是解释器版本

c# - 从ASP.NET调用的Python脚本在IIS Express中运行良好,但在本地IIS中失败

ruby - 具有可选的第一个哈希参数和 keyword_args 的奇怪方法行为

python - 尝试理解 Python 中的可选参数、列表参数和命名参数

python - 为什么从对象继承在 Python 中有所不同?

python - 使用 Pandas 数据框运行 OLS 回归

python - 如何部分定义函数参数? Python

python - 简化 `if ' foo' in kwargs and kwargs ['foo' ] is True :`