Python is both an interpreted and a compiled language.
Python code is not compiled into machine language.
Python code is translated into intermediate code, which has to be executed by a virtual machine, known as the PVM, the Python virtual machine.
This is a similar approach to Java.
There is even a way of translating Python programs into Java byte code for the Java Virtual Machine (JVM).
This can be achieved with Jython.