Is Python interpreted (like Javascript or PHP)? is worth a read for more information and it says:
...different implementations of languages may do different things. These days you can find both C interpreters and Javascript compilers.
Compilati e interpretati sono descrizioni di un'implementazione, non di una lingua; Il loro utilizzo in relazione alle lingue è un ritorno ai tempi in cui ogni lingua aveva poche implementazioni e strumenti simili (semplici) rispetto ai tipi di funzioni che si potrebbero trovare in un IDE oggi.
Ci sono livelli di interpretazione / compilazione ...
- Interpretazione pura
- Tokenizzazione + interpretazione
- Compilazione del codice byte che richiede una macchina virtuale per ospitare
- Bytecode + compilazione "just in time" su Codice macchina
- Compilazione di codice macchina nativo
Diversi ambienti Python usano diverse opzioni, cpython
fa solo una compilazione bytecode, dove Psyco
usa un approccio bytecode + JIT.
Nuovi linguaggi e implementazioni utilizzano spesso l'approccio Bytecode + JIT in quanto è il modo migliore per renderli portatili e consente all'applicazione di utilizzare più funzionalità di un ambiente host sconosciuto.
In termini del linguaggio stesso, le descrizioni sono usate come una scorciatoia per il livello di astrazione. Con linguaggi di alto livello come Python, dove la considerazione e l'ottimizzazione delle prestazioni sono lontane dai remoti dei programmatori spesso descritti come interpretati, laddove quelli di basso livello come C, in cui tali considerazioni sono strettamente legate, sono considerati compilati.
Per rispondere alla tua domanda - Python come la maggior parte delle persone lo usa è PARZIALMENTE COMPILATO e sarebbe giusto considerarlo ENTRAMBI compilato e interpretato.