python中的kwargs保留字。这是啥意思? [复制]

Posted

技术标签:

【中文标题】python中的kwargs保留字。这是啥意思? [复制]【英文标题】:kwargs reserved word in python. What does it mean? [duplicate]python中的kwargs保留字。这是什么意思? [复制] 【发布时间】:2013-12-08 03:20:39 【问题描述】:

我正在使用 Python 试图找出一个关键词,我看到了“kwargs”这个词,我知道这是被调用函数中的某种参数,但我在任何地方都找不到它的含义或代表.

例如,Python 文档中的这个条目说...

read_holding_registers(address, count=1, **kwargs)

参数:

address – The starting address to read from
count – The number of registers to read
unit – The slave unit this request is targeting

它看起来像一个指向指针的引用,但这就是我的全部 可以告诉...

这甚至没有在参数列表中使用“**kwargs”它使用 在我看来,“unit”而不是“kwargs”。

我似乎在任何地方都找不到kwargs 的含义。

也许是“关键词论据”?我在这里错过了什么?

关于这里的帮助有什么想法吗? 谢谢 ! 鲍勃

【问题讨论】:

【参考方案1】:

**kwargs 表示关键字参数。它实际上不是 python 关键字,它只是人们遵循的约定。这将获得传递给函数的所有键值参数。例如,

def func(*args, **kwargs):
    print args, kwargs
func(1, "Welcome", name="thefourtheye", year=2013)

将打印

(1, 'Welcome') 'name': 'thefourtheye', 'year': 2013

【讨论】:

谢谢。我认为它可能是一个通用的 args 占位符,但不确定。为什么是双星号?它让我觉得它是某种索引操作......指向指针的指针。我仍然不确定。 @user3024070 它由语言的语法决定。 Python 中没有指针。检查这个问题***.com/questions/36901/…它对此有完整的解释 啊哈!这就是我需要的链接,thefourtheye!再次感谢!【参考方案2】:

是的,它的意思是“关键字参数”,但kwargs 实际上不是保留字。调用收集所有未使用的关键字参数的参数只是惯用的做法。

【讨论】:

以上是关于python中的kwargs保留字。这是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

python中**是啥意思?

*args 和 **kwargs 是啥意思? [复制]

短语“HTTP.SYS 中的 URL 保留”是啥意思?

Python中的*args和**kwargs

Python中%.5e是啥意思?

Python,节省时间的开始2保留字