Что такое Python?

Python — интерпретируемый язык программирования общего назначения с акцентом на читаемость синтаксиса. Используют в веб-разработке (Django, FastAPI), data science, автоматизации, ML/AI (PyTorch, scikit-learn) и DevOps-скриптах. Код выполняется интерпретатором CPython или альтернативами (PyPy, GraalPy).

flowchart LR
  Src[".py исходники"] --> VM["CPython VM"]
  VM --> CExt["C-расширения"]
  VM --> Std["Стандартная библиотека"]

Исходный код компилируется в bytecode и исполняется виртуальной машиной.

Синтаксис и типизация

Отступы задают блоки кода — меньше скобок, выше единообразие. С Python 3.5+ активно используют type hints (mypy, pyright) без жёсткой проверки в рантайме. Пакеты публикуют в PyPI; зависимости фиксируют через requirements.txt, Poetry или uv.

GIL и параллелизм

Global Interpreter Lock в CPython не даёт двум потокам исполнять байткод Python одновременно в одном процессе — CPU-bound задачи масштабируют через multiprocessing или выносят в C/Rust. I/O-bound (сеть, диск) хорошо работает с asyncio и async/await.

Экосистема

  • Веб: FastAPI, Django, Flask.
  • Данные: pandas, Polars, Jupyter.
  • ML: PyTorch, Hugging Face transformers.
  • Инфра: Ansible, скрипты AWS/GCP.

Версии

Поддерживаются ветки 3.x; Python 2 снят с поддержки. В продакшене фиксируют минорную версию в Docker-образе и CI, чтобы избежать сюрпризов при обновлении.

Документация: docs.python.org.

Частые вопросы

  • Python — компилируемый или интерпретируемый?

    Исходник компилируется в bytecode (.pyc), который исполняет интерпретатор CPython — без отдельной стадии линковки как у C++.

  • Для чего Python в 2026 году?

    Бэкенды, автоматизация, аналитика и ML остаются основными нишами; для низкоуровневого перформанса чаще берут Rust или Go.

  • Что такое виртуальное окружение venv?

    Изолированный каталог с интерпретатором и pip-пакетами для проекта, чтобы не смешивать зависимости разных приложений.

Не хватает деталей?

Напишите, что уточнить по теме «Python» — это помогает улучшать материал и подсказывает, какие термины добавить дальше. Email необязателен: укажите, если хотите ответ только для вас (мы не шлём рассылки).

Поделиться