Java is neither an interpreted language nor a compiled language. It is a bit of both. When compiled, Java programs are compiled to bytecode -- a Java-specific type of code. When the program is run, this bytecode is run through a Java Runtime Environment (jre) in order to convert it to machine code, which is readable and executable by the computer. Once compiled to bytecode, Java programs cannot be modified.
Python programs, on the other hand, are typically compiled at the time of running, when the Python interpreter reads the program. They can, however, be compiled to computer-readable machine code. Also, Python does not use an intermediary step for platform independence. Instead, platform independence is in the implementation of the interpreter.