Какие новые фичи Python ты применял на практике
Что проверяют
Работаете ли вы на современной версии и понимаете ли, зачем появилась фича, а не просто знаете о ней. Подойдёт и небольшая вещь, если вы честно применяли её в коде. Следом спросят, какая версия Python у вас в проде и что мешает обновиться.
Как отвечать
Актуальная ветка сейчас Python 3.14 (октябрь 2025), а 3.10 выходит из поддержки в октябре 2026. Назовите две-три вещи, которыми пользовались, и для каждой скажите, какую задачу она решала и в чём был подвох:
- 3.10:
match/caseдля разбора структур, например JSON-ответов разной формы, и запись типовint | None; - 3.11: заметный прирост скорости CPython,
asyncio.TaskGroupвместо ручногоgatherс отменой,ExceptionGroupиexcept*,tomllibдля чтенияpyproject.toml, точное место ошибки в трейсбеке; - 3.12: синтаксис обобщений
def first[T](items: list[T]) -> Tи операторtype, f-строки с теми же кавычками внутри, декоратор@override,itertools.batched; - 3.13: новый интерактивный REPL, экспериментальные сборка без GIL и JIT,
copy.replace(); - 3.14: t-строки (PEP 750), которые дают не готовую строку, а объект
Template, и библиотека может сама экранировать подстановки для SQL или HTML; отложенное вычисление аннотаций; официально поддерживаемая free-threaded сборка; модульcompression.zstd.
Если проект сидит на старой версии, скажите это прямо и объясните причину: зависимость без колёс под новую версию, базовый образ, нет времени на регрессионное тестирование. Интервьюеру важнее видеть, что вы понимаете путь обновления.
Где спотыкаются
Выдают за новинки f-строки, async/await и генераторы множеств. Это Python 3.6 и 3.5, а генераторы множеств были ещё во второй ветке.
Не знают ловушки match: case RED: с голым именем не сравнивает, а захватывает значение в переменную и срабатывает всегда. Константу пишут через точку, case Color.RED:.
Говорят, что в 3.13 «убрали GIL». В обычной сборке GIL остался, без него работает только отдельная free-threaded сборка, и C-расширения должны её поддерживать.