Выбор ответа Middle Типизация обновлено
Синтаксис дженериков Python 3.12
Вопрос
Как в Python 3.12+ объявить дженерик-функцию, возвращающую первый элемент списка того же типа?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: def firstT - T: ... PEP 695 добавил параметры типа в квадратных скобках после имени функции или класса, а также оператор type для псевдонимов.
Варианты ответа
def first<T>(items: list<T>) -> T: ...def first[T](items: list[T]) -> T: ...правильный ответdef first(items: list[T]) -> T: ...без объявленияTdef first(items: Generic[list]) -> Generic: ...
Разбор
PEP 695 добавил параметры типа в квадратных скобках после имени функции или класса, а также оператор type для псевдонимов. Угловые скобки это синтаксис TypeScript и Java. Без объявления T (через [T] или TypeVar) анализатор не знает, что это переменная типа.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.