**
means named arguments of the functions.
$ cat 2.py
def k(**argv):
print argv
k(a=10, b = 20)
$ python 2.py
{'a': 10, 'b': 20}
argv
is a dictionary that contains all named arguments of the function.
And you can also reverse it. You can use a dictionary as a set of aruments
for a function:
def k(a=10, b=20):
print a
print b
d={'a':30,'b':40}
k(**d)
would print
30
40