我一直用一些代码帮助一个新的Python用户,他问我为什么python解释器在实际错误之后会在行上显示一些语法错误。请考虑以下代码:
x = [1, 2, 3
print x
print x
行显示语法错误,但错误确实在前一行。
第一次遇到这种情况时,这可能非常令人困惑(并浪费时间),这是一个非常常见的问题(搜索" python语法错误"在您最喜欢的搜索引擎上),似乎喜欢它不会很难纠正...为什么它没有被修复?目前的方法有一些好处吗?
答案 0 :(得分:7)
有效的Python语法是将列表拆分为多行,like so:
x = [1, 2, 3
, 4, 5, 6]
print x
因此,解释器开始读取print...
行,期望列表的有效延续,这显然是找不到的。
另外,我没有发现这种非常误导。我认为弄清楚你为什么会收到这个错误很容易。
答案 1 :(得分:3)
x = [1, 2, 3
]
print x
有效的语法!因为这是可能的,所以当列表没有继续或结束时,错误实际上在第2行。