为什么Python解释器在以下行显示语法错误?

时间:2017-09-12 11:20:18

标签: python

我一直用一些代码帮助一个新的Python用户,他问我为什么python解释器在实际错误之后会在行上显示一些语法错误。请考虑以下代码:

x = [1, 2, 3
print x

print x行显示语法错误,但错误确实在前一行。

第一次遇到这种情况时,这可能非常令人困惑(并浪费时间),这是一个非常常见的问题(搜索" python语法错误"在您最喜欢的搜索引擎上),似乎喜欢它不会很难纠正...为什么它没有被修复?目前的方法有一些好处吗?

2 个答案:

答案 0 :(得分:7)

有效的Python语法是将列表拆分为多行,like so

x = [1, 2, 3
, 4, 5, 6]
print x

因此,解释器开始读取print...行,期望列表的有效延续,这显然是找不到的。

另外,我没有发现这种非常误导。我认为弄清楚你为什么会收到这个错误很容易。

答案 1 :(得分:3)

x = [1, 2, 3
]
print x

有效的语法!因为这是可能的,所以当列表没有继续或结束时,错误实际上在第2行。

相关问题