Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: stub, file, pyi

Что такое stub-файлы и для чего они используются?

Вопрос проверяет знание инфраструктуры типизации и понимание, как Python работает с внешними и динамическими библиотеками.

Короткий ответ

Stub-файлы — это файлы с аннотациями типов без реализации кода. Они используются для статического анализа и автодополнения. Обычно применяются, когда исходный код не содержит типов или написан на другом языке. Stub-файлы имеют расширение .pyi. Они помогают улучшить качество типизации без изменения рабочего кода.

Длинный ответ

Stub-файлы — важная часть экосистемы статической типизации Python.

Определение

Stub-файл (.pyi) — это файл, содержащий только сигнатуры функций, методов и классов без реализации.

Зачем нужны stub-файлы

Они применяются, когда:

  • библиотека не имеет аннотаций типов

  • код сгенерирован или написан на C

  • типизация не может быть добавлена напрямую

Пример stub-файла

# math_utils.pyi
def add(a: int, b: int) -> int: ...

Файл:

  • описывает интерфейс

  • не содержит логики

  • используется анализаторами (mypy, pyright)

Где используются stub-файлы

  1. Внешние библиотеки

    • стандартная библиотека

    • C-расширения

  2. Большие legacy-проекты

    • постепенное внедрение типизации

  3. Инструменты разработки

    • автодополнение

    • проверка типов

    • навигация по коду

Где они хранятся

Stub-файлы могут находиться:

  • рядом с .py файлами

  • в typeshed

  • в отдельных пакетах types-*

Вывод

Stub-файлы позволяют добавить строгую типизацию без изменения исполняемого кода, что делает их незаменимыми для библиотек и legacy-систем.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#stub

#file

#pyi

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.