Ответ 1
Формы *args
и **keywordargs
используются для передачи списков аргументов и словарей аргументов, соответственно. Поэтому, если бы у меня была такая функция:
def printlist(*args):
for x in args:
print(x)
Я мог бы назвать это следующим образом:
printlist(1, 2, 3, 4, 5) # or as many more arguments as I'd like
Для этого
def printdict(**kwargs):
print(repr(kwargs))
printdict(john=10, jill=12, david=15)
*args
ведет себя как список, а **keywordargs
ведет себя как словарь, но вам не нужно явно передавать функции list
или dict
в функцию.
Подробнее см. .