【问题标题】:what does double star followed by variable name mean in python? [duplicate]在python中,双星后跟变量名是什么意思? [复制]
【发布时间】:2012-04-29 09:51:33
【问题描述】:

可能重复:
What does ** (double star) and * (star) do for python parameters?

我正在阅读一些由 ZSI 为 python 生成的代码。有这样一行

def verifyVehicle(self, request, **kw): ....

我想知道这个 **kw neams 是做什么的。这是 neam 字典类型吗?谢谢

【问题讨论】:

    标签: python zsi


    【解决方案1】:

    它指的是传递给函数但不在方法定义中的所有关键字参数。例如:

    >>> def foo(arg, **kwargs):
    ...     print kwargs
    ... 
    >>> foo('a', b="2", c="3", bar="bar")
    {'c': '3', 'b': '2', 'bar': 'bar'}
    

    这类似于只使用一个星号,它指代所有非关键字参数:

    >>> def bar(arg, *args):
    ...     print args
    ... 
    >>> bar(1, 2, 3, 'a', 'b')
    (2, 3, 'a', 'b')
    

    你可以结合这些(人们经常这样做)

    >>> def foobar(*args, **kwargs):
    ...     print args
    ...     print kwargs
    ... 
    >>> foobar(1, 2, a='3', spam='eggs')
    (1, 2)
    {'a': '3', 'spam': 'eggs'}
    

    【讨论】:

    • 这就解释了一切!谢谢
    猜你喜欢
    • 2019-05-28
    • 2010-09-28
    • 2014-01-11
    • 2018-05-15
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    相关资源
    最近更新 更多