kwargs在python中保留了单词。这是什么意思?

时间:2013-11-23 04:26:08

标签: python kwargs

我正在使用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的含义。

也许这是“关键词论证”?我在这里缺少什么?

这里有任何关于帮助的想法吗? 谢谢 ! BOB

2 个答案:

答案 0 :(得分:12)

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

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

将打印

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

答案 1 :(得分:8)

是的,它表示“关键字参数”,但kwargs实际上不是保留字。调用收集所有未使用的关键字参数的参数只是惯用的事情。