Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。
在编译时会出现这样的错IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
往往有的人会疑问:我根本就没缩进怎么还是错,不对,该缩进的地方就要缩进,不缩进反而会出错。
一句话 有冒号的下一行往往要缩进,该缩进就缩进;其实这句话的意思就是“语法错误:不正确的语法”。
所以就很明白了,这几句代码不符合语法规范。
但是有些人可能觉着奇怪,明明是教程上原封不动拷过来的代码,怎么会语法错误?
原因在于:这段代码符合的语法规范是Python2.7的,而我使用的版本是3.4的。Python3.4的语法规范和2.7是有区别的。就本段代码而言,区别在于:3.4中print后需要括号,而2.7的print后不需要括号。
3.IndexError: list index out of range
第1种可能情况
list[index]index超出范围,超出取值的范围;
第2种可能情况
list是一个空的 没有一个元素
进行list[0]就会出现该错误
4.TypeError: insert() takes exactly 2 arguments (3 given)
方法接受两个参数,你传了三个
5.ValueError: substring not found
子串未找到;下例中搜索子串abcd,在里面没有找到,返回异常。