如果我使用import
and a 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
loop:
> python3 -c 'import os; print(10)'
10
发生什么了??
这是一个错误,因为它不在 Python 语法中。
如果您查看复合语句的语法规范 https://docs.python.org/3.4/reference/compound_stmts.html#grammar-token-compound_stmt,您将看到语句列表(即您用分号创建的内容)定义为:
stmt_list ::= simple_stmt (";" simple_stmt)* [";"]
and the for
构造不是一个simple_stmt
,而是一个compound_stmt
.
The print(10)
然而,是一个simple_stmt
因此,这样就很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)