Как использовать * args и ** kwargs в Python
Параметр с ** (двойной звездой) и * (звезда) позволяет определять функции для принятия и для пользователей передавать любое количество аргументов, positional (*) и ключевое слово (**). Единая форма звездочки (* args) используется для передачи несетевого слова, когда мы не уверены, сколько аргументов будет передано функции, или если мы хотим передать сохраненный список или кортеж аргументов в функция. Форма double asterisk (** kwargs) используется для передачи ключей, когда мы не знаем, сколько аргументов ключевого слова будет передано функции, которая будет находиться в dict cwargs.
* пример args
def print_colors(*args): print(args) print_colors('red','blue','green','yellow')
Выход
('red', 'blue', 'green', 'yellow')
** пример kwargs
def print_numbers(**kwargs): for key in kwargs: print (key, kwargs[key]) print_numbers(one=1, two="two",three=3,four="four")
Выход
one 1 four four two two three 3