Python为什么不具体说明无效语法是什么

时间:2018-07-24 06:33:26

标签: python syntax

让我们说我有这段代码:

>>> for x in range(10)
File "<stdin>", line 1
for x in range(10)
                 ^
SyntaxError: invalid syntax

Python指向无效语法的位置,但是没有告诉我我缺少的是什么。请注意,这个问题不是关于我所缺少的。 我确实知道,在range()函数的末尾缺少一个:。我在问为什么Python对丢失的:没有具体说明。就语法而言,在range()函数之后还会有其他内容吗?

1 个答案:

答案 0 :(得分:2)

根据Python documentation

  

for语句用于遍历序列的元素(例如字符串,元组或列表)或其他可迭代对象:

for_stmt ::=  "for" target_list "in" expression_list ":" suite
          ["else" ":" suite]

然后,在in之后,您可以放置​​任何可迭代项。专门回答您的问题,在range()之后,您可以放入逗号并传递任何对象,或者也可以保持传递尽可能多的objets,并以逗号分隔。