根据我的理解:
解释型语言是一种高级语言,由解释器(将高级语言转换为机器代码并执行的程序)运行并执行;它每次处理一点点程序。
编译语言是一种高级语言,其代码首先由编译器(将高级语言转换为机器代码的程序)转换为机器代码,然后由执行器(另一个运行代码的程序)执行。
如果我的定义错了,请指正。
现在回到Python,我对此有点困惑。你知道Python是一种解释性语言,但它被解释为一些中间代码(如字节码或IL),而不是机器代码。那么,哪个程序执行IM代码呢?请帮助我了解Python脚本是如何处理和运行的。
Python(解释器)被编译。
证明:它甚至不会编译你的代码,如果它包含语法错误。
示例1:
print("This should print")
a = 9/0
输出:
This should print
Traceback (most recent call last):
File "p.py", line 2, in <module>
a = 9/0
ZeroDivisionError: integer division or modulo by zero
代码编译成功。第一行执行(打印),第二行抛出ZeroDivisionError(运行时错误)。
示例2:
print("This should not print")
/0
输出:
File "p.py", line 2
/0
^
SyntaxError: invalid syntax
结论:如果代码文件包含SyntaxError,编译失败时什么都不会执行。