Python基础教程:新手朋友在python中常见的错误信息汇总
Python基础教程:新手朋友在python中常见的错误信息汇总
最近很多同学都在问很多错误是怎么回事,其实他们都是Python中非常基础的错误,并且错误也告诉你很清楚,只需要针对错误去解决就好了。那么我今天针对常见的错误进行一个总结,希望对大家有帮助。
一般一个错误分为错误类型:具体原因。其中错误类型基本不变,具体原因会顺序万变,我们拿出常见的给大家作为一个参考,注明:具体原因中引号内的信息是为了方便举例写的,真实你出现的错误并不一定和我引号里的内容一致,恩甚至说应该是肯定不一样的~
1、IndentationError: unindent does not match any outer indentation level
解释:缩进错误,python不是通过{}包裹代码,而是进行tab或者空格的方式对代码进行缩进,如果
缩进前后没有对齐,就会报这个错误
2、NameError:name 'test' is not defined
解释:你没有定义一个叫test的变量,就直接使用test去执行业务逻辑,就会报这个错误
3、SyntaxError: invalid syntax
解释:语法错误。唯一的不是在运行时发生的错误.
它代表 Python 代码中有一个不正确的结构, 在它改正之前程序无法执行
还有比如 新手常见的 SyntaxError: EOL while scanning string literal,表示你的字符串没有用引号封装好
4、IndexError:list index out of range
解释:索引超出序列范围,比如li=['a', 'b', 'c'],索引为0,1,2,当你访问了li[3]就会报错
5、KeyError:'test'
解释:字典里没有test这个key,a = {'name': 'jack'} 当你调用a['age']就会抛这个错误
6、IOError:[Errno 2] no such file or directory:"/home/a.txt"
解释:没有找到/home/a.txt这个路径或文件,当你使用open或其他读取系统路径文件的时候出现
7、AttributeError:'a' object object has no attribute 'b'
解释:一个实例化的 a 对象里 如果没有这个b 而你调用了,比如 a.b 就会报这个错误
8、TypeError: 'NoneType' object is not callable
解释:当前你调用的是一个None,而你企图对这个None对象 进行一些 如 None() 等操作,同时
和 7 类似 如果一个None对象你调用了属性 比如 None.b 也会报7的错误。
该错误通常发生在应该返回一个可用对象并进行操作,而返回了None你没有验证就去操作
再比如有一个函数 def a(name):... 的函数 如果你没有传参数或少传了参数也会报Typeerror
比如 TypeError: a() missing 1 required positional argument: 'name'
再比如TypeError: Can’t convert ‘int’ object to str implicitly
说明你企图让一个整数和字符串相加
9、ValueError: invalid literal for int() with base 10: 'abc'
解释:传给的对象的参数类型不准确造成,比如有一个对象 a = 'abc' 你企图对他 进行 int(a)
就会出现这个错误
10、FileNotFoundError: [Errno 2] No such file or directory: '/home/helloworld.py'
解释:和6类似,当对文件进行读取的时候,也有可能抛出这个错误,标明没有找到路径或文件
11、io.UnsupportedOperation: not writable
解释:当你对一个文件进行操作的时候,如果没有相关的权限,就会报这个错误
12、ImportError: No module named 'requests'
解释:你没有导入这个requests包 但是在业务里使用了这个包
再比如 我企图从requests里导入一个不存在的方法 from requests from aa
就会报 ImportError: cannot import name 'aa'
在这里有一个槽点,比如我们在test.py 路径下执行 python test.py
但是在test.py 中 有调用 当前路径上一层其他路径的包或者函数,也会报相关的importerror,
原则上是你执行当前py位置上的错误,在当前路径下执行,代码里只会以当前路径为启示路径进行寻找。
所以最好是在更上层进行执行,或者在当前py下把需要导入的报的地址 加入到sys.path中。
以上就是常见的python的错误,我也会不断的给大家更新Python基础教程。大家也要练习看错误信息,根据错误信息自己去解决问题,才是一个合格的程序员~
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python系列-人工智能篇:带你搞懂TensorFlow基础入门
“阅读全文需8.5分钟,关注公众号:【测试开发技术】,后台回复me可免费领取学习资料。” 01 开篇 当今在互联网混,不随口说出深度学习,人工智能,机器学习,神经网络等词,人家都怀疑是个假的互联网人了,但相信大部分没有深入接触这块知识的人来说,对于这几个概念,都还是傻傻分不清? 记得,自从AlphaGo那波,业界似乎对机器学习推到一个新的高度?? 本来是不太想沾这趟混水的,但是作为一名技术控,还是需要了解一下,至少也得对概念有点印象。对于人工智能这块领域,笔者也还是一名小学生,如果对这块有不对的地方,请各位同学及时提出~ 02 扫盲 深度学习,人工智能,机器学习,神经网络,这4个词在近几年出现的比较多,但是它们之间有什么关系呢?尤其,机器学习跟深度学习区别在哪里?? 人工智能,英文Artificial Intelligence,简称AI,那人工智能的目的是什么?网上一大堆,好听的叫解放/发展生产力,解放人类,总的来说是提高效率!!! 但更通俗的理解就是帮助人们:偷懒! 比如当你说一句话时,机器能够识别成文字,并理解你话的意思,进行分析和对话等。 人工智能的核心在于智能两字,那智能怎么来...
- 下一篇
程序设计的5个底层逻辑,决定你能走多快
阿里妹导读:肉眼看计算机是由CPU、内存、显示器这些硬件设备组成,但大部分人从事的是软件开发工作。计算机底层原理就是连通硬件和软件的桥梁,理解计算机底层原理才能在程序设计这条路上越走越快,越走越轻松。从操作系统层面去理解高级编程语言的执行过程,会发现好多软件设计都是同一种套路,很多语言特性都依赖于底层机制,今天董鹏为你一一揭秘。 结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示。 enter image description here图片来源:http://m.elecfans.com/article/625138.html 我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单元,存储单元。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池