python - Python 单行语法错误

标签 python python-2.7 syntax

python -c 'import sys; print "a"'

有效,并且

python -c 'for a in [1, 2, 3]: print a'

有效,但是

python -c 'import sys; for a in [1, 2, 3]: print a'

失败

File "<string>", line 1
  import sys; for a in [1, 2, 3]: print a
                ^

为什么?


编辑 我的解决方法:

python -c 'import sys; print "\n".join([1, 2, 3])'

(幸运的是它也适用于我的真实代码。)

最佳答案

您只能使用 ; 来分隔一行中的非复合语句;语法不允许非复合语句和用分号分隔的复合语句。

相关语法规则如下:

stmt: simple_stmt | compound_stmt
simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE

simple_stmt 产生式中的; 是唯一允许分号分隔语句的地方。有关详细信息,请参阅 full Python grammar .

关于python - Python 单行语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23730644/

相关文章:

c++ - 了解 C++ 重构语法

c# - C# 中的 '=>' 语法是什么意思?

目录列表的 Python sorted() 与 .sort()

python - 如何修复 'DataFrame' 对象没有属性 'coalesce'?

multithreading - 使用线程python套接字客户端,该客户端在后台监听并可以发送实时消息

Python multiprocessing.Process 自行调用 join

关于 ""的 php mysql 查询语法问题

python - 为 Keras 制作自定义损失函数

针对 Azure 服务管理 API 的 Python HTTPS 在 Windows 上失败

python - 测试不纯函数