Python是选择性解释型语言吗?为何缩进错误代码未执行首行就报错?
问题解答
1. Python是不是选择性解释型语言?
Python属于解释型语言范畴,但更准确的说法是:它会先把源码编译成字节码,再由Python解释器(比如CPython)逐行解释执行这些字节码。不存在“选择性解释”的定义,它是按程序流程逐行处理代码,但在正式执行代码逻辑前,会先完成全局的语法检查。
2. 代码为何未执行第一行就抛出错误?
你的代码存在缩进语法错误,Python对代码块的缩进要求非常严格——同一代码块内的所有语句必须保持一致的缩进级别。
原代码:
if 5 > 2: print("Two is less than Five!") print("Five is greater than two!")
第三行的print语句缩进明显多于第二行,属于不符合语法规则的错误。
Python在运行程序时,会先对整个源码做语法检查,如果发现语法错误(比如缩进错误),会直接抛出IndentationError异常,不会执行任何代码逻辑,所以第一行的print语句根本没机会被执行。
错误信息:
File "/Users/____/Desktop/Python practise/practise.py", line 3
print("Five is greater than two!")
IndentationError: unexpected indent
内容的提问来源于stack exchange,提问作者Akshay_J
相关产品推荐
相关产品推荐

