导入后的for循环在Python一线式中不起作用

皮蒂科斯

如果我使用importfor之后跟随,则会收到invalid syntax错误消息。我不知道为什么会这样。

> python3 -c 'import os; for a in range(1,5): print(a)'
  File "<string>", line 1
    import os; for a in range(1,5): print(a)
                 ^

删除import工作正常:

> python3 -c 'for a in range(1,5): print(a)'
1
2
3
4

或完全删除for循环:

> python3 -c 'import os; print(10)'
10

发生什么了??

乔伊·科尔曼(Joey Coleman)

这是一个错误,因为它不在Python语法中。

如果您查看复合语句语法规范,则会看到一个语句列表(即,用分号表示的内容)定义为:

stmt_list ::= simple_stmt (";" simple_stmt)* [";"]

for构造不是一个simple_stmt,而是一个compound_stmt

print(10),但是,是一个simple_stmt和,这样,就好了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章