Computers can only understand machine code which comprises of 1s and 0s. This is not very easy for a programmer to understand. That's why they made ASSEMBLY LANGUAGES!
Assembly languages are a lot easier for a programmer to understand, however, they are still quite complex. Functions in assembly aren't very complex and therefore, simple codes that are worth one line in Python are a lot longer in assembly.
High level languages are a lot easier to understand than low levels, like assembly. They are translated into assembly and then to machine for the computer to understand. There are two ways for computers to run these.
Interpreters run the code line by line. Each function is sent to the processor before the next line of code is read.
Compilers read through the code entirely and cease the reading once it is done.