The process of which Python source code is eventually turned into Machine Code to be eventually ran by the CPU is,
- Use the Python interpreter to turn it into ByteCode
- Run the ByteCode using a Python Virtual Machine
When it comes to Java, the same sequence of events occurs. The Java source code is turned into ByteCode and then ran by the Java Virtual Machine. So I wonder, why is Python referred to as an interpreted language whereas Java is commonly referred to as a compiled language, however the same sequence of events to get to Machine Code are the same for both languages.