Share This
Связаться со мной
Крути в низ
Categories
//Что такое *args и **kwargs?

Что такое *args и **kwargs?

06.10.2020Category : Python

Иногда нельзя предсказать, сколько аргументов получит функция. Чтобы обработать их, используются специальные конструкции *args и **kwargs.

На самом деле названия переменных – args, kwargs – это просто соглашение. Важны здесь только звездочки. Они обозначают сборку аргументов в коллекцию (список или словарь). Одна звездочка предназначена для обычных аргументов, две – для именованных.

Можно заменить *args на *vars, а **kwargs на **options или другое слово. Программа будет работать корректно, но другие разработчики могут вас не понять.

def test_args(farg, *args):     print("Первый известный аргумент: ", farg)     for arg in args:         print("Один из оставшихся аргументов: ", arg)  test_args(1, "two", 3) # Первый известный аргумент: 1 # Один из оставшихся аргументов: two # Один из оставшихся аргументов: 3  def test_kwargs(farg, **kwargs):     print("Первый известный аргумент: ", farg)     for key in kwargs:         print("Один из оставшихся аргументов: %s: %s" % (key, kwargs[key]))  test_kwargs(farg=1, myarg2="two", myarg3=3) # formal arg: 1 # Один из оставшихся аргументов: myarg2: two # Один из оставшихся аргументов: myarg3: 3

Конструкции *args и **kwargs можно использовать как самостоятельно, так и в комбинации с любым количеством обычных аргументов. Например, в коде выше первый параметр farg обрабатывается отдельно, а все остальные собираются в коллекцию.

    Проходите тест по Python и поймите, готовы ли вы идти на курсы
  • 4 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close