Python 代码真的会逐行执行吗? [复制]

Posted

技术标签:

【中文标题】Python 代码真的会逐行执行吗? [复制]【英文标题】:Does Python code really get executed line by line? [duplicate] 【发布时间】:2020-11-18 08:46:13 【问题描述】:

我刚开始学习 Python,有人告诉我 Python 代码是从顶部逐行执行的。所以这意味着如果我在第 2 行出现错误,则应该执行第 1 行的打印方法,对吗?但有时它会被执行,有时它不会。我真的很困惑。有人可以帮忙吗?

示例 1:

print("Python")
pint("Programming")

输出:第 1 行被执行,但第 2 行没有执行,因为我写的是 pint 而不是 print。 (正如预期的那样。)

在这种情况下,Python 代码是逐行执行的。

示例 2:

print("Python")
print"Programming")

输出:第 2 行出错,但未执行第 1 行。(意外)

为什么上例中没有逐行执行Python代码?

【问题讨论】:

解析和执行代码是有区别的 示例 1 在语法上是正确的。代码可以看懂,但是执行的时候,问题就暴露了。示例 2 在语法上不正确。代码看不懂,所以不执行。 当您运行 Python 脚本时,在脚本实际开始执行之前,解析器会解析您的源代码。如果解析器发现某些不是有效的 Python 语法(例如,当您缺少括号时),您的程序甚至没有机会执行,因为您尝试运行的不是有效的 Python .如果没有语法错误,您的程序将运行,但如果遇到任何运行时错误将引发异常。这就是为什么它们被称为运行时错误,因为它们发生在程序运行时。 【参考方案1】:

在python中代码是逐行执行的,但整个执行只有在检查语法错误后才开始。

只有在删除所有语法错误后,代码才会开始执行。

【讨论】:

以上是关于Python 代码真的会逐行执行吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

vim粘贴代码问题

在nodejs中逐行读取文件没有简单的方法吗? [复制]

如何逐行执行bash脚本? [复制]

单线程的JavaScript是如何实现异步的

单线程的JavaScript是如何实现异步的

第一次接触python学习最简单的print