【问题标题】: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 的含义。

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

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

【问题讨论】:

    标签: python keyword-argument


    【解决方案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 中没有指针。检查这个问题stackoverflow.com/questions/36901/…它对此有完整的解释
    • 啊哈!这就是我需要的链接,thefourtheye!再次感谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 2015-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      相关资源
      最近更新 更多