¿Es IndentationError un error de syntax en Python o no?

Tengo una pregunta simple,

Es SyntaxError un SyntaxError en Python o no?

Creo que no, pero como soy un principiante, me gustaría estar seguro. ¿Los errores de syntax son solo aquellos que me dan SyntaxError como respuesta en un intérprete? Por ejemplo, si escribo

 3f = 22 

yo obtengo

 SyntaxError: invalid syntax 

Entonces, si hay algo más ( IndentationErro r, etc.), ¿puede ser un subtipo de SyntaxError o no?

 >>> issubclass(IndentationError, SyntaxError) True 

Significa que si

Más información aquí y aquí.

Su ejemplo es un SyntaxError, porque no puede tener un identificador que comience con un número:

 >>> 3f = 22 File "", line 1 3f = 22 ^ SyntaxError: invalid syntax >>> f3 = 22 File "", line 1 f3 = 22 ^ IndentationError: unexpected indent >>> def test(): ... f3 = 22 File "", line 2 f3 = 22 ^ IndentationError: expected an indented block 

Un IndentationError es un tipo de SyntaxError, vea el orden de resolución del método en: help (IndentationError) y: http://docs.python.org/2/library/exceptions.html#exceptions.IndentationError

Identificadores válidos:

 test test3 test_3 __3Test_3______ 

Identificadores inválidos:

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

Ver también:

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