Как использовать * 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

Источник: http://net-informations.com/python/iq/star.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector