Выбор ответа Junior Типизация спрашивают часто обновлено

Что означает Optional

Вопрос

Что означает аннотация timeout: Optional[int]?

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

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

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

Коротко

Правильный ответ: Значение может быть int или None. Optional[int] это ровно int None.

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

  1. Значение может быть int или Noneправильный ответ
  2. Аргумент можно не передавать при вызове
  3. Значение может быть любым числом
  4. Аргумент передаётся только по имени

Разбор

Optional[int] это ровно int | None. Будет ли у параметра значение по умолчанию, решает = ... в сигнатуре, а не тип. Поэтому def f(x: Optional[int]) всё равно требует аргумент, а def f(x: int = 5) необязателен, но None не принимает.

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

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