Apakah IndentationError merupakan kesalahan sintaksis dalam Python atau bukan?

Saya punya sebuah pertanyaan sederhana,

Apakah IndentationError a SyntaxError dengan Python atau tidak?

Saya rasa tidak, tetapi karena saya seorang pemula, saya ingin memastikannya. Apakah kesalahan sintaksis hanya kesalahan yang memberi saya SyntaxError sebagai respons pada penerjemah? Misalnya, jika saya mengetik

3f = 22 

saya mendapat

SyntaxError: invalid syntax 

Jadi kalau ada yang lain (IndentationError dll), apakah itu subtipe SyntaxError atau bukan?


person SomeOne    schedule 15.10.2013    source sumber


Jawaban (2)


>>> issubclass(IndentationError, SyntaxError)
True

maksud ya

Info lebih lanjut di sini dan di sini

person alexvassel    schedule 15.10.2013
comment
Terima kasih! Jawaban Anda sangat membantu! - person SomeOne; 15.10.2013

Contoh Anda adalah SyntaxError, karena Anda tidak dapat memiliki pengenal yang dimulai dengan angka:

>>> 3f = 22
  File "<stdin>", line 1
    3f = 22
     ^
SyntaxError: invalid syntax


>>>     f3 = 22
  File "<stdin>", line 1
    f3 = 22
    ^
IndentationError: unexpected indent


>>> def test():
... f3 = 22
  File "<stdin>", line 2
    f3 = 22
     ^
IndentationError: expected an indented block

IndentationError adalah sejenis SyntaxError, lihat urutan penyelesaian metode di: help(IndentationError) dan: http://docs.python.org/2/library/Exceptions.html#Exceptions.IndentationError

Pengidentifikasi yang valid:

test
test3
test_3
__3Test
3f
333
33__
# Using any symbol other than: _
_____

Pengidentifikasi tidak valid:

3f
333
33__
# Using any symbol other than: _

Lihat juga:

http://docs.python.org/2/reference/lexical_analisis.html#identifiers

person HarmonicaMuse    schedule 15.10.2013