python - 函数调用中有多个 kwargs?

标签 python

我有一个简单的函数,它是这样调用的:

arbitrary_function(**kwargs1, **kwargs2, **kwargs3)

它似乎在我的本地安装(python 3.5.1)上编译得很好,但是当我在 docker 上使用 python 3.4.5 编译它时抛出一个 SyntaxError。

我不太清楚为什么会出现这种行为。不允许使用多个 kwargs 吗?我应该在传递给函数之前将它们组合起来吗?单独传递更方便,例如:

plot(**x_axis_params, **y_axis_params, **plot_params)

代替

params = dict()

for specific_param in [x_axis_params, y_axis_params, plot_params]:    
    params.update(specific_param)

plot(**params)

最佳答案

这是 Python 3.5 中引入的新功能。如果您必须支持 Python 3.4,您基本上只能使用 update 循环。

对于如何将多个指令组合成一个指令,人们有自己喜欢的变体,但唯一真正对 update 循环进行重大改进的是 3.5+ 独占,因此它无助于这。 (作为引用,新的字典合并语法是 {**kwargs1, **kwargs2, **kwargs3}。)

关于python - 函数调用中有多个 kwargs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38860676/

相关文章:

python - Matplotlib savefig 图像修剪

Python深度学习: Shape of irregular multidimensional data sets

python - 强制 qcut 分成等概率的组

python - 检查范围内的东西的运行时间

python - Decimal.quantize 舍入误差

python - Ansible:维护 sudoer 列表的最佳实践

python - 如何在 Google App Engine Datastore 中插入批量数据?

python - 如何将数据框拆分为固定大小的组?

Python:解析具有 7 位微秒到日期时间的时间戳字符串

python - 如何对验证日期时间是否为特定 ISO 格式的函数进行单元测试?