Is Python an interpreted language? Will it compile?
This question is not as easy to answer as imagined. Like many people who understand the world, they are used to judging some things based on a simple model. In fact, it contains many, many details.
Generally speaking, Compilation represents converting a high-level language into machine code that can be executed by the CPU. When you compile C, this is exactly what you do. The result of compilation is a binary executable file, and your system can run this program directly.
In contrast, the meaning of explanation is this: when the program is running, it reads one line of code in the source file each time, and performs the corresponding operation, and repeats it line by line. . Of course, this is how so-called scripting languages work.
In Python, source code is compiled into a lower-level form, which we call bytecode. Bytecode is a sequence of instructions, similar to a CPU's instruction set. But the bytecode is not executed directly by the CPU, but in the virtual machine. Of course, the virtual machine here does not imitate the entire operating system environment, but only provides an environment for bytecode execution.
Python also has an important feature, which is the interactive command line. You can type a line of Python statement and press Enter immediately to execute it. In fact, even in this process, Python is first converted into bytecode and then executed. This interactive command line feature is not available in many compiled languages. Also because there is no explicit call to the compiler, many people call the program that executes Python source files a Python interpreter. Even though it is relatively simple, I still want to add it. Some compiled languages such as C or JAVA also have interactive command lines, but these are not the focus of these languages. JAVA was first compiled into bytecode and then executed. Later, with just-in-time compilation technology (JIT), it can be directly compiled into machine code, similar to C.
As can be seen from the above description, interpretation and compilation cannot be completely separated. Many times, we want to use some words to classify existing programming languages, but in fact it is too difficult to do this.
The reason why Python is called an interpreted language is because it does not explicitly call compilation operations and shows more interpreted characteristics. But in fact, compilation exists. How to compile it depends on the implementation of the language, that is, the design of the interpreter.
The above is the detailed content of Is python an interpreted language?. For more information, please follow other related articles on the PHP Chinese website!