导入后的循环在Python单行程中不起作用

Pit*_*kos 2 python terminal import syntax-error

如果我使用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)
                 ^
Run Code Online (Sandbox Code Playgroud)

删除import工作正常:

> python3 -c 'for a in range(1,5): print(a)'
1
2
3
4
Run Code Online (Sandbox Code Playgroud)

或完全删除for循环:

> python3 -c 'import os; print(10)'
10
Run Code Online (Sandbox Code Playgroud)

发生什么了??

Joe*_*man 5

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

如果你查看复合语句语法规范,你会看到一个语句列表(即你用分号做的)被定义为:

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

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

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