Добавление в сообщение раскрутки:
Вы также можете отправить несколько аргументов значения ключа.
def myfunc(**kwargs):
# kwargs is a dictionary.
for k,v in kwargs.iteritems():
print "%s = %s" % (k, v)
myfunc(abc=123, efh=456)
# abc = 123
# efh = 456
И вы можете смешать два:
def myfunc2(*args, **kwargs):
for a in args:
print a
for k,v in kwargs.iteritems():
print "%s = %s" % (k, v)
myfunc2(1, 2, 3, banan=123)
# 1
# 2
# 3
# banan = 123
Они должны быть оба объявлены и вызваны в этом порядке, то есть сигнатура функции должна быть * args, ** kwargs, и вызвана в этом порядке.