17个最容易python的运行时错误,你中招了没?

前言

当我第一次学习Python时,理解python错误消息的含义可能有点复杂;这里有一些使程序崩溃的运行时错误

1)忘了添加:(在if的末尾,elif,else,for,while,class def声明(导致“SyntaxError:invalid syntax”)

此错误将在类似于以下代码中发生:

2)使用=而不是==(导致“SyntaxError:无效语法”)

=是赋值运算符,==等于比较运算。以下代码中发生此错误:

3)缩进使用不正确。 (导致“IndentationError:unexpectedPindent”,“IndentationError:unindent不匹配任何外部的indetation级别”和“IndentationError:期望缩进的块”)

请记住,缩进增加仅在语句以:结尾后使用,并且必须恢复为先前的缩进格式。以下代码中发生此错误:

4)忘记在for循环语句中调用len(导致“TypeError:'list'对象不能被解释为整数”)

通常,您希望按索引迭代列表或字符串元素,这需要调用范围函数。请记住返回len值而不是返回此列表。

以下代码中发生此错误:

5)尝试修改字符串的值(导致“TypeError:'str'对象不支持项目赋值”)

String是一种不可变的数据类型,出现在以下代码中:

你真的想这样做:

6)尝试将非字符串值与字符串连接(导致“TypeError:无法将'int'对象转换为str隐式”)

以下代码中发生此错误:

你真的想这样做:

7)忘记字符串开头和结尾的引号(在扫描字符串文字时产生“SyntaxError: EOL”)

以下代码中发生此错误:

8)变量或函数名称拼写错误(导致“NameError:名称'fooba'未定义”)

以下代码中发生此错误:

9)方法名称拼写错误(导致“AttributeError:'str'对象没有属性'lowerr'”)

以下代码中发生此错误:

10)引用超过列表最大索引(导致“IndexError:列表索引超出范围”)

以下代码中发生此错误:

11)使用不存在的字典键(导致“KeyError:'spam'”)

以下代码中发生此错误:

12)尝试使用Python关键字作为变量名(导致“SyntaxError:invalid syntax”)

Python密钥不能用作变量名,错误发生在以下代码中:

Python3的关键字是:and,as,assert,break,class,continue,def,del,elif,else,except,False,finally,for,from,global,if,import,in,is,lambda,None, Nonlocal,not,or,pass,raise,return,True,try,while,with,yield

13)在新的变量定义中使用增值运算符(导致“NameError: name'foobar'未定义”)

在声明变量时不要使用0或空字符串作为初始值,因此使用自动增量运算符的垃圾邮件+=1等于spam=spam + 1意味着垃圾邮件需要指定有效的初始值。

以下代码中发生此错误:

14)在定义局部变量之前在函数中使用局部变量(有一个与局部变量同名的全局变量)(导致在赋值之前引用“UnboundLocalError:局部变量'foobar')

在存在具有相同名称的全局变量时,在函数中使用局部变量非常复杂。使用规则是:如果在函数中定义了任何内容,如果它仅在函数中使用,则它是本地的,否则它是全局的。变量。

这意味着在定义函数之前,不能将它用作函数中的全局变量。

以下代码中发生此错误:

15)尝试使用范围创建整数列表(导致“TypeError:'范围'对象不支持项目分配”)

有时你想获得一个有序的整数列表,所以range似乎是生成这个列表的好方法。但是,您需要记住该范围返回“范围对象”而不是实际的列表值。

以下代码中发生此错误:

也许这就是你想要做的事情:

(注意:spam=range(10)在Python 2中很好,因为range在Python 2中返回一个列表值,但上面的错误发生在Python 3中)

16)良好的++或 - 自我递增和递减运算符。 (导致“SyntaxError:语法无效”)

如果您习惯使用其他语言,如C ++,Java,PHP等,您可能希望尝试使用++或 - 递增和递减变量。 Python中没有这样的运算符。

以下代码中发生此错误:

也许这就是你想要做的事情:

17)忘记将self参数添加到方法的第一个参数(导致“TypeError: myMethod不带参数(给定1个)”)

以下代码中发生此错误:

这是鸡蛋:

有好友和pythonPDF电子书可以通过委托获得!