1. Python - інтерпретована мова, а не компільована. Відповідно, не при компіляції, а при спробі виконання.
Ну, технічно, перед виконанням Python компілює початковий код у байт-код (і тому, наприклад, синтаксична помилка вкінці програми унеможливлює запуск програми, навіть якщо в процесі своєї роботи програма до того місця навіть не доходить) — тож і чистим інтерпритатором назвати його теж не можна. Проте, інтерпритатор байт-коду та компілятор інтегровано в одну програму, компіляція здебільшого відбувається приховано, .pyc-файл з байт-кодом може не створюватися взагалі, а компіляція імпортованих модулів може відбуватися безпосередньо під час імпорту (коли модуль, що їх імпортує, вже виконується) — все це робить різницю між помилками компіляції та помилками під час виконання дещо розмитою (зокрема, в даному випадку, імпорт неіснуючого модуля є помилкою, що відбувається під час виконання — що для «справжніх» компільованих мов нетипово).
Сказане вище стосувалося найпоширенішої реалізації мови. Проте, також існують реалізації python'а в вигляді компілятора, де компіляція відбувається безпосередньо в машинний код — втім, навряд чи даний онлайн-сервіс використовує таку реалізацію.