Заголовок сочный, но как и говорил, всё очень кратко. Давайте для начала примем, что Python - это интерфейс. Просто существует определённый набор того, что и как должно происходить, как должно себя вести. Только выбрав имплементацию интерфейса уже можно говорить что-то о компиляции, байткоде и т.д. По дефолту такой реализацией является CPython - он же официальный (от самих разработчиков), он же самый популярный. Его и выберем, а о других просто будем знать, чтобы при необходимости заюзать. Есть машинный код, а есть байткод. Машинный код прекрасен тем, что позволяет напрямую выполнять инструкции процессором. Байткод - некий промежуточный язык, понятный только виртуальной машине, которая и выполняет инструкции. Фишка машинного кода в том, что он дико быстрый, а байткода - возможность работать на разных платформах благодаря тому, что виртуальную машину можно написать для разных ОС и запускать один и тот же код везде. Так же байткод является более защищенным по очевидным причинам. Дык вот
Python, интерпретаторы, байткод, .pyc, .pyo, .pyd, JIT и прочее
29 февраля 202029 фев 2020
600
3 мин