对于python初学者,在编程过程中常犯的错误及解决办法进行汇总和解决。勇哥希望编写此文能帮到大家。

下边是勇哥结合例子给大家现身说法:

第一例:缩进错误(IndentationError)




python 参数冒号报错 python冒号错误_缩进

图1



python对缩进很敏感,python用缩进来划分语句块,对于同一个语句块,语句之间要对齐,否则就会出现上图中的为对齐错误,这个也是新手犯的最多的一种错误。

第二例:缺少冒号(SyntaxError)




python 参数冒号报错 python冒号错误_运算符_02

图2



我们在编写程序的过程中,一定要注意,if语句,for语句,while语句,函数以及else后的冒号不能少。冒号必须是英文状态下的冒号。

第三例:索引超出错误(IndexError)




python 参数冒号报错 python冒号错误_运算符_03

图3



当发生错误的时候,系统报错其实是在诉说对你的不满,所以你要平息这个“不满”,一定要看清人家报的错误类型,根据错误类型和发生错误的地方来排除我们的错误。上图中的”line 2”,就在告诉你第2行附近有问题。

对于序列类型,在操作的时候,注意索引不要越界。或者在处理前做一个判读 比如 if index

第四例 使用不存在的字典键名(KeyError)




python 参数冒号报错 python冒号错误_缩进_04

图4



在操作字典或类字典的结构时,如果我们要读取某个键对应的值或者要删除该键对应的元素时,一定要在删除之前判断该键名在字典中是否存在,然后在进行相应的操作。检测字典中键名是否存在可以使用:“键名 in 字典变量.keys()”来帮我们规避这种问题。所以用好 in运算符很重要。

第五例 未声明错误(NameError)




python 参数冒号报错 python冒号错误_运算符_05

图5



python是一个动态语言,定义变量时不需要指定类型名称,相对来说语法没有C语言和C++语法严谨。不指定类型并不代表变量没有类型,python中的变量是靠变量赋的值来推断变量类型。所以上述案例,d没有给值,所以造成解释器执行时发现不知道如何给d分配内存空间。如果给变量d赋个值再使用就没有上述问题了。

另外如果把内置函数名写错,也会引起上述错误,如下图所示:




python 参数冒号报错 python冒号错误_python_06

图5-1



第六例 类型错误(TypeError)




python 参数冒号报错 python冒号错误_python 参数冒号报错_07

图6



python是一门强类型的语言,两个值进行运算时,必须保证运算符左右两边值的类型要一致,就像人不能和长颈鹿比高低一样,因为不是同一类,比较没有意义。所以把上述b对应的实参改为整数类型就可以了。

第七例 模块导入错误(ImportError)




python 参数冒号报错 python冒号错误_缩进_08

图7



上述程序执行到第一条语句就报错停止运行了,因为系统没有找到该模块。如果报这样的错误,首先我们要检查我们导入的模块名是否正确,在系统中是否真实存在;如果存在的话,可以把模块的具体路径添加到sys.path这个列表中即可。