Дана функция def f(a, b, c): return a * 100 + b * 10 + c. Что вернет вызов f(1, c=3, b=2)?

A132
B123
CTypeError
D321
Правильный ответ. Позиционные аргументы заполняют параметры слева направо, именованные можно указывать в любом порядке по имени.

Разбор

В вызове f(1, c=3, b=2) значение 1 идет в параметр a (позиционно). Параметры b и c задаются именованно, поэтому порядок b=2 и c=3 не важен. В итоге считается 1 * 100 + 2 * 10 + 3, то есть 123. Это частый стиль: обязательные параметры передают позиционно, а уточняющие — ключевыми аргументами.

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

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