我有一个简单的问题,
Python中的IndentationError
是SyntaxError
吗?
我认为不是,但由于我是初学者,我想确定。
语法错误只是那些在解释器中将SyntaxError
作为响应的错误吗?例如,如果我输入
3f = 22
我得到了
SyntaxError: invalid syntax
所以,如果有其他东西(IndentationErro
r等),它可能是SyntaxError
的子类型吗?
答案 0 :(得分:13)
答案 1 :(得分:3)
您的示例是SyntaxError,因为您不能拥有以数字开头的标识符:
>>> 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是一种SyntaxError,请参阅以下方法中的方法解析顺序:help(IndentationError)和:http://docs.python.org/2/library/exceptions.html#exceptions.IndentationError
有效标识符:
test
test3
test_3
__3Test_3______
无效的标识符:
3f
333
33__
# Using any symbol other than: _
另见:
http://docs.python.org/2/reference/lexical_analysis.html#identifiers