Есть функция def profile(name, country='RU', city='Moscow'): return f'{name}:{country}:{city}'. Что вернёт вызов profile('Ann', city='Kazan')?

A'Ann:Kazan:RU'
B'Ann:RU:Kazan'
C'Ann:RU:Moscow'
DTypeError
Правильный ответ. Именованный аргумент позволяет переопределить конкретный параметр, не меняя остальные дефолты.

Разбор

Вызов profile('Ann', city='Kazan') передаёт name позиционно, а city — по имени. Параметр country не указан, поэтому берётся значение по умолчанию 'RU'. Итоговая строка будет 'Ann:RU:Kazan'. Именованные аргументы повышают читаемость, особенно когда у функции много параметров с дефолтами.

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

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