很多初学者会遇到很多奇奇怪怪的报错信息,在这里,我为大家已经准备好一部分报错信息的分析以及解决办法。

一、TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误

  • 错误例子:

age=18

print(‘我的年龄是’+age)

  • 报错信息:TypeError: can only concatenate str (not "int") to str

(这是类型错误,提示必须是一个字符串,不能是数字。)

  • 解决方法:在使用“+”做拼接的时候,必须使用字符串,或者把数字转化成字符串。
  • 正确代码:

age=18

print(‘我的年龄是’+str(age))

二、AttributeError:属性错误,特性引用和赋值失败时会引发属性错误

  • 错误例子:

tp=('1','3','5')

tp.append('7')

print(tp)

  • 报错信息:AttributeError: 'tuple' object has no attribute 'append'

提示:  属性错误:元组对象没有“append”的属性,简单来说元组是不可变对象

  • 解决方法:把元组换成列表。
  • 温馨提示: 所以写程序时一定要细心哦!

三、NameError:试图访问的变量名不存在。

  • 举个简单的例子,只运行一行print(a),会报错:NameError: name 'a' is not defined。
  • 简单来说,就是变量a没有定义,解决方法是在前面给a赋值,比如加上一行a=''。
  • 还有一种需要小心处理的是:变量或者函数名拼写错误。如:

name= '卡西'

print('My name is ' + nane)

报错信息和上面一样:NameError: name 'nane' is not defined。这类错误只要根据报错信息,细心检查下拼写,就能很快解决~

温馨提示:写程序时使用工具很重要,因为工具会直接提示!

四、错误使用标点符号SyntaxError: invalid syntax

  • 报错信息为:SyntaxError: invalid syntax

提示是:语法错误,非法的语法。

  • 解决方法:

当报错的时候,要注意回到错误信息的那一行,然后从下往上,慢慢查找,此处这个程序就是因为if语法忘了在判断语句后面加“:”,所以导致的错误。

另外,初学者写代码时要注意使用英文符号,这是大家经常犯的错误

         

五、KeyError:在读取字典中的key和value时,如果key不存在,就会触发KeyError错误。

  • 举个小栗子:

dict={'a':1,'b':2,'c':3}

print(dict['d'])

报错信息为:KeyError: 'd'。

  • 第一种解决方法,首先测试key是否存在,然后才进行下一步操作,如:
  • 第二种解决方法,修改要输出的值为a或b或c

六、IndexError: list index out of range

  • 报错信息:IndexError: list index out of range

提示:索引错误,列表索引超出了范围。

  • 解决办法:

回头看列表的长度,索引是要小于列表的长度的。上面的列表长度是5,而索引却要打印第七个,所以是超出了列表的长度

七、IndentationError: expected an indented block

  • 报错:IndentationError: expected an indented block

原因:缩进有误,Python的缩进非常严格,行首多个空格,少个空格都会报错。

由于不熟悉python编码规则,不易查找,所以会成为新手常犯的一个错误。像def,class,if,for,while等代码块都需要缩进。

八、不能混用。否则就会出现以下报错:TabError: inconsistent use of tabs and spaces in indentation。

  • tab键本质上是制表符,而不是缩进符,不同的文本编辑器中制表符代表的空格宽度不一,如果代码需要跨平台或跨编辑器读写,建议不要使用制表符(tab键)。

心得:inconsistent use of tabs and spaces in indentation

错误处理方法:把报错的行光标放到第一个字母前,backspace直接删除到和上一行接起来,然后按回车就行了。

  其他的报错,我们下期见!

Python 常见报错类型整理(一)的更多相关文章

  1. python常见报错类型

     更新ing 报错类型 报错内容 错误判断 错误解决方式 IndentationError IndentationError:unexpected indent 格式错误:以外缩进   Indenta ...

  2. Python 常见报错类型

    一.TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误 错误例子: age=18 print(‘我的年龄是’+age) 报错信息:TypeError: can only conc ...

  3. python常见报错信息!错误和异常!附带处理方法

    作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息. Python 有两种错误很容易辨认:语法错误和异常. Python assert(断言)用于判断一个表达式,在表达 ...

  4. python 常见报错汇总

    python官方文档:https://docs.python.org/zh-cn/3/tutorial/index.html 1.indentationerror:unindent does not ...

  5. Python常见报错问题(不定时更新)

    1.TabError: inconsistent use of tabs and spaces in indentation 在缩进中不一致地使用tab键和空格键. 报错原因:混用了tab和space ...

  6. Python常见报错 - 使用openpyxl模块时出现错误: zipfile.BadZipFile: File is not a zip file

    背景 在pycharm项目下,有一个data.xlsx,主要用来存放接口测试用例数据的 要通过openpyxl库去读取data.xlsx,方法: openpyxl.load_workbook(path ...

  7. python常见报错

    1.Pycharm No module named requests 的解决方法 pip install requests 然后重启pycharm

  8. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  9. C语言开发中常见报错的解决方案

    C语言开发中常见报错的解决方案 整理来源于网络,侵权请通知删除.*禁止转载 ---- fatal error C1003: error count exceeds number; stopping c ...

  10. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

随机推荐

  1. CF1250C Trip to Saint Petersburg

    题目传送门 思路 线段树入门题. 不妨固定一个右端点 \(r\),把所有右端点小于 \(r\) 的区间都在 \(1\) 至此区间的左端点处 update 一个 \(p\),然后每次都给区间 \(1\) ...

  2. Bulldog

    Bulldog 目录 Bulldog 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 Web-Shell利用 2.1 尝试命令执行 2.2 尝试利用系统命令注入 2.3 ...

  3. Apache Maven Assembly自定义打包插件的使用

    前言 本文主要记录在SpringBoot项目中使用Apache Maven Assembly插件进行打包的相关内容: 官网说明:https://maven.apache.org/plugins/mav ...

  4. C#/.net程序调用python

    C#/.net程序调用python C#的优势在于window下的开发,不仅功能强大而且开发周期短.而python则有众多的第三方库,可以避免自己造轮子,利用C#来做界面,而具体实现使用python来 ...

  5. redis(13)持久化操作-AOF

    AOF(Append Only File) 以日志的形式来记录每个写操作(增量保存),将 Redis 执行过的所有写指令记录下来 (读操作不记录), 只许追加文件但不可以改写文件,redis 启动之初 ...

  6. 坏消息,new Date()方法在IOS系统中存在null值情况

    背景介绍 笔者最近在开发小程序,发现在使用new Date()函数在电脑模拟器上倒是没什么影响能很好实现效果,但是在我的Iphone上看到的效果跟预想有出入. 图为在电脑微信小程序模拟器的效果图,可以 ...

  7. (四)Mysql之索引介绍

    索引数据结构的选择:Hash表.二叉树.平衡二叉树.(红黑树近似于平衡二叉树).B树.B+树1)Hash表:Java的HashMap.TreeMap就是Hash表结构,以键值对存储,时间复杂度是O(1 ...

  8. 树莓派lite安装桌面

    sudo apt update sudo apt install xorg -y sudo apt install lxde openbox -y sudo apt install pix-icons ...

  9. vue中引入字体

    前言: 做大屏 项目需要引入字体做个记录一.先看看效果  二.实现1.下载字体文件 分享一个下载开源字体网站: https://www.dafont.com/theme.php2.文件放到项目中 可以 ...

  10. Electron 应用图标修改

    1,首先给窗口添加图标: 1) 窗口图标是图片jpg或者png格式,如果没有图标去[https://www.aigei.com/icon/?wd=icon%E7%BD%91&bd_vid=10 ...