关于zsi:在python中,双星后跟变量名意味着什么?

what does double star followed by variable name mean in python?

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

Possible Duplicate:
What does ** (double star) and * (star) do for python parameters?

我正在阅读zsi为python生成的一些代码。有一条这样的线

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

我想知道这个**千瓦尼姆是什么。这是Neam的字典类型吗?谢谢


这两个关键字的全refers题元的功能,通过两个没有定义的方法。例如:

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

它是用一个完全相似,这两个星号,refers所有非关键字:题元

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

你可以组合这些(鸭的人往往死)

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