Kwargs在python中是什么意思?

kwargs reserved word in python. What does it mean?

本问题已经有最佳答案,请猛点这里访问。

我正在使用python试图找出一个关键字,我看到了"EDOCX1"(0),我知道这是被调用函数中的某种参数,但在任何地方我都找不到它的含义或代表。

例如,python文档中的这个条目表示…

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

参数:

1
2
3
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的意思。

可能是"关键词论点"?我这里缺什么?

有什么关于帮助的建议吗?谢谢您!鲍勃


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

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

将打印

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


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