这行没有多大意义,但我想知道它为什么会引发语法错误:
x = 1; if x: with open("x.txt") as f: f.write(x)
如何在一行中执行with块后if语句?
with声明是一个红色的鲱鱼.甚至以下是语法错误:
>>> x = 1; if x: if x: print x
File "<stdin>", line 1
x = 1; if x: if x: print x
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
看这里:
http://docs.python.org/reference/compound_stmts.html
套件可以是与标题位于同一行的一个或多个以分号分隔的简单语句,位于标题的冒号后面,也可以是后续行中的一个或多个缩进语句.只有后一种形式的套件才能包含嵌套的复合语句; 以下是非法的,主要是因为
if以下else条款属于哪个条款并不清楚:Run Code Online (Sandbox Code Playgroud)if test1: if test2: print x
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |