Выбор ответа Middle Функции и области видимости обновлено

Только позиционные и только именованные параметры

Вопрос

Какой вызов функции def f(a, /, b, *, c) допустим?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: f(1, b=2, c=3). a стоит до /, поэтому передаётся только позиционно, c после только по имени, b как угодно. f(1, 2, 3) ломается на c, который нельзя передать позиционно. f(a=1, ...) нарушает правило для a.

Варианты ответа

  1. f(1, 2, 3)
  2. f(a=1, b=2, c=3)
  3. f(1, b=2, c=3)правильный ответ
  4. f(1, 2)

Разбор

a стоит до /, поэтому передаётся только позиционно, c после * только по имени, b как угодно. f(1, 2, 3) ломается на c, который нельзя передать позиционно. f(a=1, ...) нарушает правило для a. В f(1, 2) не хватает обязательного c.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.