如果我使用 import
并且之后是 for
,我会得到一个 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
这是怎么回事??
最佳答案
这是一个错误,因为它不在 Python 语法中。
如果您查看 syntax specification for compound statements ,你会看到一个语句列表(即你用分号做的)被定义为:
stmt_list::= simple_stmt (";"simple_stmt)* [";"]
for
构造不是 simple_stmt
,而是 compound_stmt
。
然而,print(10)
是一个 simple_stmt
,因此它很好。
关于python - 导入后的 For 循环在 Python 单行中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26778181/