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

Literal для набора значений

Вопрос

Какая аннотация ограничит параметр order значениями "asc" и "desc"?

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

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

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

Коротко

Правильный ответ: Literal['asc', 'desc']. Literal описывает конкретные допустимые значения, и анализатор отклонит order="up". str пропустит любую строку.

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

  1. str с проверкой в теле
  2. Enum['asc', 'desc']
  3. Literal['asc', 'desc']правильный ответ
  4. Union['asc', 'desc']

Разбор

Literal описывает конкретные допустимые значения, и анализатор отклонит order="up". str пропустит любую строку. Enum объявляется классом, а не подпиской, а Union принимает типы, а не значения. Для более богатой логики используют enum.StrEnum.

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

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