Дана функция def add(a, b, c): return a + b + c и список nums = [1, 2, 3]. Что вернет вызов add(*nums)?

ATypeError
B6
C(1, 2, 3)
D1
Правильный ответ. Оператор * при вызове функции распаковывает список в позиционные аргументы.

Разбор

Вызов add(*nums) эквивалентен add(1, 2, 3): элементы списка подставляются как позиционные аргументы. Поэтому результат — 6. Распаковка полезна, когда аргументы уже собраны в список/кортеж, но функция принимает их позиционно.

Проверь себя · 1/3разбор после ответа
Дана функция def total(*args): return sum(args). Что вернет вызов total(1, 2, 3)?
Тренировать Python в Telegram

Ещё вопросы по теме «Функции и аргументы»