600 читали · 5 лет назад
Python, интерпретаторы, байткод, .pyc, .pyo, .pyd, JIT и прочее
Заголовок сочный, но как и говорил, всё очень кратко. Давайте для начала примем, что Python - это интерфейс. Просто существует определённый набор того, что и как должно происходить, как должно себя вести. Только выбрав имплементацию интерфейса уже можно говорить что-то о компиляции, байткоде и т.д. По дефолту такой реализацией является CPython - он же официальный (от самих разработчиков), он же самый популярный. Его и выберем, а о других просто будем знать, чтобы при необходимости заюзать. Есть машинный код, а есть байткод. Машинный код прекрасен тем, что позволяет напрямую выполнять инструкции процессором...
Исполнение кода в Python: От интерактивной оболочки до байт-кода
Python — интерпретируемый язык с динамической типизацией, и его гибкость во многом определяется моделью выполнения кода. В этой статье мы разберем, как работает исполнение Python: от интерактивных оболочек до виртуальной машины, а также рассмотрим ключевые модули и файлы. REPL (Read-Eval-Print Loop) — это интерактивный режим, запускаемый командой `python` в терминале. Каждая введенная строка кода: 1. Читается (парсится). 2. Компилируется в байт-код. 3. Исполняется виртуальной машиной Python (PVM)...