Технически Python компилируется в байт-код и затем интерпретируется в виртуальной машине . Если компилятор Python может записать байт-код в файл .pyc, он (обычно) сделает это.
С другой стороны, в Python нет явного шага компиляции, как в случае с Java или C. С точки зрения разработчика, похоже, что Python просто интерпретирует файл .py напрямую. Кроме того, Python предлагает интерактивную подсказку, в которой вы можете набирать операторы Python и выполнять их немедленно. Таким образом, рабочий процесс в Python намного больше похож на рабочий процесс интерпретируемого языка, чем на скомпилированный язык. Для меня (и многих других разработчиков, я полагаю), различие в рабочем процессе важнее, чем наличие промежуточного шага байт-кода или нет.