Оператор **
, когда он появляется в вызове функции, преобразует словарь в набор аргументов ключевого слова для функции.Когда он появляется в определении функции, он преобразует набор ключевых аргументов функции в словарь.Так, например:
>>> d = {'a':0, 'b':1, 'c':2}
>>> def print_my_arguments(**my_arguments):
... print my_arguments
...
>>> print_my_arguments(a=0, b=1, c=2)
{'a': 0, 'c': 2, 'b': 1}
>>> print_my_arguments(**d)
{'a': 0, 'c': 2, 'b': 1}