零基础学Python编程(少儿趣味版)
上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

“语法错误,属于最容易发现的一种错误类型。”西西船长说。

“那就是说还有不容易发现的错误啦?”菲菲兔问。