You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向接受**kwargs的Python函数传递含点号的关键字参数?

如何给接受**kwargs的函数传递含点号的键值对

当你定义了如下接受**kwargs的函数:

def f(**kwargs):
     print(kwargs)

如果尝试直接传递键名带点号的参数,比如f(a.b=1),会触发语法错误:

In [46]: f(a.b=1)
  Cell In[46], line 1
    f(a.b=1)
      ^
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?

这是因为Python要求关键字参数的名称必须是合法标识符,不能包含.这类特殊字符。解决办法很直接:

  • 先构造包含目标键值对的字典,再通过**解包传递给函数:
# 构造带特殊键名的字典
params = {"a.b": 1}
# 解包字典传递参数
f(**params)

运行后会输出{'a.b': 1},完全满足需求。

内容的提问来源于stack exchange,提问作者xebtl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:08:10