Тест · Функции как значения · урок 2 из 10Тест — *args и **kwargsЧто такое *args и **kwargs, и когда их применяют?[A]*args собирает именованные аргументы в tuple, а **kwargs — позиционные в dict. Эти имена обязательны, и Python отвергает любое другое написание, например *params или **options, с ошибкой SyntaxError уже при определении функции.[B]*args и **kwargs получают все аргументы функции, даже уже отданные именованным параметрам, поэтому именованный параметр и *args получают одно и то же первое позиционное значение. Также они обязаны стоять перед всеми именованными параметрами в строке def.[C]*args собирает лишние позиционные аргументы в tuple, а **kwargs — лишние именованные в dict. Если ничего не передали, это пустой tuple/dict, а не None. Их используют, чтобы функция принимала любое число аргументов или передавала их дальше.[D]*args собирает лишние позиционные аргументы в list, а **kwargs — лишние именованные в set. Если ничего не передали, оба равны None, поэтому перед перебором в цикле for каждый из них нужно сначала проверить на None.Подпишись, чтобы пройти курсКурс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.Продолжить с TelegramВойти другим способом← Назад*args и **kwargsДалее →Функции как значения