2016-05-23 72 views
0

我想了解爲什麼Python 3.5.1有時會拋出IndentationError,有時會拋出SyntaxError,當我期望它在兩種情況下拋出IndentationError。例如:瞭解Python IndentationError和SyntaxError

1)

>>> if True: 
...  pass 
...    else: 
    File "<stdin>", line 3 
    else: 
    ^
IndentationError: unexpected indent 

2)

>>> if True: 
...  pass 
...  else: 
    File "<stdin>", line 3 
    else: 
    ^
SyntaxError: invalid syntax 

回答

5

IndentationError是因爲系縮進超過它應該已經。 pass不需要縮進下一行。

SyntaxError是因爲,雖然與else語句線理論上可以適當縮進的,如果它有一些其他的陳述一樣passwhile,解釋找不到必要上面的語句(ifelifwhilefor ,或except)在該縮進級別。