Python традиционно считается интерпретируемым языком. Исходный код не компилируется в машинный код напрямую до выполнения. Вместо этого, он сначала компилируется в байт-код, который затем исполняется виртуальной машиной Python (CPython, PyPy и т.д.).
python
Этот код компилируется в байт-код.
python
Затем виртуальная машина Python выполняет этот байт-код.
Хотя существует этап компиляции в байт-код, именно выполнение байт-кода интерпретатором является ключевым аспектом, определяющим его как интерпретируемый язык в общепринятом смысле.
Существуют также альтернативные реализации Python, такие как PyPy, использующие JIT (Just-In-Time) компиляцию, что может размывать это различие, но стандартная реализация CPython работает по интерпретируемому принципу.
Сравнивая с полностью компилируемыми языками, такими как C или C++, где исходный код компилируется непосредственно в машинный код, Python требует этапа выполнения в виртуальной машине.
| Язык | Тип выполнения | Компиляция до | Время исполнения |
|---|---|---|---|
| C | Компилируемый | Машинный код | Быстрое |
| Python | Интерпретируемый | Байт-код | Медленнее (как правило) |