
上QQ阅读APP看书,第一时间看更新
1.10.1 语法错误
大家都在笑话菲菲兔搞错了指令,西西船长大声制止大家:“Stop!谁也不能保证自己百分百不会犯错吧!”
“嗯嗯嗯!”菲菲兔连忙点头。
西西船长接着说:“所以,我们需要一个异常处理机制,能够在我们出错的时候告诉我们错在哪里。就像Python语言里的警告一样。”
其实在前面大家试验的程序中,经常会收到Python的错误警告,比如:
>>> 2x=2*x #非法变量名 SyntaxError: invalid syntax
显然,如上代码中使用了不合语法的变量名。在编写代码的时候,有一类最容易察觉的错误,它通常是由输入代码时的疏漏造成的,称为“语法错误”。
语法错误也称为解析错误,英文为“Syntax Error”,它表示代码中出现了不符合Python语法要求的错误。一旦运行程序,语法错误会立即被Python的语法分析器察觉,并给出一个错误提示,简单指出是什么错误。例如:
>>> print(i) #变量未定义 Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> print(i) NameError: name 'i' is not defined >>> '12345'=12345 #试图给字符串赋值 SyntaxError: can't assign to literal >>> list(12345) #试图将整数转换成列表 Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> list(12345) TypeError: 'int' object is not iterable
“语法错误,属于最容易发现的一种错误类型。”西西船长说。
“那就是说还有不容易发现的错误啦?”菲菲兔问。