python 对额外的括号敏感?
python sensitive to extra parenthesis?
这段代码运行良好
if True: print "just True"
if (True): print "(True)"
正在研究循环,这些工作正常
for i in range(1, 3):
print i
i = 0
while i < 3: # without paranthesis
print i
i = i + 1
i = 0
while (i < 3): # with paranthesis
print i
i = i + 1
当我尝试时
for (i in range(1, 3)):
print i
我收到一个错误 "SyntaxError: invalid syntax"
我知道外面的括号会使循环变得疯狂(错误)但是我违反了语法的哪一部分?它在 while 循环中运行良好
for
的语法是(简化)
for <variable(s)> in <expression>
for_stmt ::= "for" target_list "in" expression_list ":" suite
["else" ":" suite]
因为你在括号中 <variable> in <expression>
,语法变得无效。
for
和 in
必须出现在同一嵌套级别。
while
的语法是 much simpler:
while_stmt ::= "while" expression ":" suite
["else" ":" suite]
因此允许使用括号,尽管在 Python
中不是必需的
您不能随心所欲地添加额外的括号。 while
语法,一般来说,是:
while <condition>:
在这里,您只是用括号括起一个条件,这很好,就像您自己看到的那样。 for
循环的语法是:
for <variable> in <expression>:
您可以将 expression
括在括号中,但语法中没有任意部分。
这段代码运行良好
if True: print "just True"
if (True): print "(True)"
正在研究循环,这些工作正常
for i in range(1, 3):
print i
i = 0
while i < 3: # without paranthesis
print i
i = i + 1
i = 0
while (i < 3): # with paranthesis
print i
i = i + 1
当我尝试时
for (i in range(1, 3)):
print i
我收到一个错误 "SyntaxError: invalid syntax"
我知道外面的括号会使循环变得疯狂(错误)但是我违反了语法的哪一部分?它在 while 循环中运行良好
for
的语法是(简化)
for <variable(s)> in <expression>
for_stmt ::= "for" target_list "in" expression_list ":" suite
["else" ":" suite]
因为你在括号中 <variable> in <expression>
,语法变得无效。
for
和 in
必须出现在同一嵌套级别。
while
的语法是 much simpler:
while_stmt ::= "while" expression ":" suite
["else" ":" suite]
因此允许使用括号,尽管在 Python
中不是必需的您不能随心所欲地添加额外的括号。 while
语法,一般来说,是:
while <condition>:
在这里,您只是用括号括起一个条件,这很好,就像您自己看到的那样。 for
循环的语法是:
for <variable> in <expression>:
您可以将 expression
括在括号中,但语法中没有任意部分。