千锋教育-做有情怀、有良心、有品质的IT职业教育机构

400-811-9990
当前位置:千锋视频教程 >  python视频教程  >  Python技术学习之常见的语法错误及异常处理

Python技术学习之常见的语法错误及异常处理

时间:2018-05-10 14:14     来源:千锋视频教程 作者:千锋老师

在学习Python的过程中,一定会遇到很多困难,我相信很多时候的,报错就会是让人抓狂,一个好的程序员最主要的特质,就是处理错误的能力。在面对每次遇到的问题,要多总结多做笔记,争取下次避免犯同样的错误,或者再遇到这样的情况能够快速解决。

今天就和大家聊一下,在python中一共有2种错误:一种是语法错误,另外一种是异常。

语法错误

语法错误也叫做解析错误,是指python无法正确的识别代码的造成的。根本原因在于人的行为:手残,脑残和眼残的行为。

解决方法:按照正确的语法进行书写就没这个错误了!

一.常见的异常分类:

 python异常语法-1

IndexError                索引超出序列的范围

python异常语法-2

KeyError                  字典中查找一个不存在的关键字

python异常语法-3

NameError                 尝试访问一个不存在的变量

python异常语法-4

AssertError               断言语句(assert)失败

python异常语法-5

IndentationError          缩进错误

下面这些也是常见的异常错误,在报错的时候不要害怕,记住这些常见的单词。

AttributeError            尝试访问未知的对象属性

EOFError                  用户输入文件末尾标志EOF(Ctrl+d)

FloatingPointError        浮点计算错误

GeneratorExit             generator.close()方法被调用的时候

ImportError               导入模块失败的时候

KeyboardInterrupt         用户输入中断键(Ctrl+c)

MemoryError               内存溢出(可通过删除对象释放内存)

NotImplementedError       尚未实现的方法

OSError                   操作系统产生的异常(例如打开一个不存在的文件)

OverflowError             数值运算超出最大限制

ReferenceError            弱引用(weak reference)试图访问一个已经被垃圾回收机制回收了的对象

RuntimeError              一般的运行时错误

StopIteration             迭代器没有更多的值

SyntaxError               Python的语法错误

TabError                  Tab和空格混合使用

SystemError               Python编译器系统错误

SystemExit                Python编译器进程被关闭

TypeError                 不同类型间的无效操作

UnboundLocalError         访问一个未初始化的本地变量(NameError的子类)

UnicodeError              Unicode相关的错误(ValueError的子类)

UnicodeEncodeError        Unicode编码时的错误(UnicodeError的子类)

UnicodeDecodeError        Unicode解码时的错误(UnicodeError的子类)

UnicodeTranslateError     Unicode转换时的错误(UnicodeError的子类)

ValueError                传入无效的参数

ZeroDivisionError         除数为零

二.用户自定义错误和自定义抛出错误

python异常语法-6

自定义抛出错误:

try:

#尝试代码执行区域

except 异常类型 as 异常对象变量:

#解决方案

except 异常类型 as 异常对象变量:

#解决方案

#....

with语法

在文件操作中用于监控文件的使用状态,在文件不使用时自动关闭文件操作。

文件操作

try:

#程序监控打开的1.txt文件

with open('1.txt','r') as fp:

#读取文件

text = fp.read()

print(text)

except:

print('文件操作出错!')

  • 北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2层、南区服务楼2层
    咨询电话:400-186-9990 010-82790226-801
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、大数据开发培训、VR/AR混合现实培训、Python培训、Linux云计算培训、软件测试培训、Android培训、iOS培训、好程序员
  • 深圳西部硅谷校区地址:深圳市宝安区宝安大道5010号深圳西部硅谷A区B座605-619
    深圳大学城校区地址:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-33582485-801(硅谷校区)0755-86660670-801(大学城校区)
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android培训、iOS培训
  • 上海校区地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-56166283/56166279
    面授课程:全栈HTML5+培训、UI交互设计培训、JavaEE+云数据培训、Android课程培训、iOS课程培训、好程序员
  • 郑州校区地址:郑州市金水区纬五路21号河南教育学院综合楼(经纬中学楼)7/8层
    咨询电话:0371-55191750 400-186-9990
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 广州校区地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-186-9990
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 大连校区地址:辽宁省大连市甘井子区软件园路2号东软信息学院B5座一楼
    咨询电话:0411-39026086 400-186-9990
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、UI交互设计培训、Android课程培训、iOS课程培训
  • 武汉校区地址:武汉市光谷大道61号智慧园21号楼2层
    咨询电话:027-65523826
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 成都校区地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    咨询电话:028-83178771
    面授课程:全栈HTML5+培训、UI交互设计培训、PHP培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 西安校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85260160
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训
  • 杭州校区地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:全栈HTML5+培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 青岛校区地址:青岛市市北区龙城路卓越世纪中心3号楼8层
    咨询电话:0532-80910752/3 010-82790226-801
    面授课程:全栈HTML5+培训、UI交互设计培训、JavaEE+云数据培训、Android课程培训、iOS课程培训
  • 重庆校区地址:重庆市高新区科园一路2号大西洋国际12-1
    咨询电话:023-68883009
    面授课程:JavaEE+云数据课程培训
  • 长沙校区地址:湖南省长沙市岳麓区麓谷企业广场A2栋三单元306号
    咨询电话:400-186-9990
    面授课程:JavaEE+云数据课程培训
  • 哈尔滨校区地址:哈尔滨市松北区创新一路699号科技创新城19号楼五楼
    咨询电话:15663846969
    面授课程:全栈HTML5+培训
  • 千锋教育服务号

    了解千锋动态
    关注千锋教育服务号

  • 千锋教育移动站

    扫一扫快速进入
    千锋移动端页面

  • 千锋互联服务号

    扫码匿名提建议
    直达CEO信箱