一、异常捕获
1.什么是异常
程序在执行过程因为遇到错误的语法导致程序崩溃
2.什么是异常捕获
通过异常捕获的程序让本身会异常的代码能够继续执行
3.怎么捕获异常
1)语法一 - 捕获代码段1中所有的异常
1)语法一 - 捕获代码段1中所有的异常
try:
代码段1
except:
代码段2
finally:
代码段3
其他语句
说明:
try、except - 关键字,固定写法
代码段1 - 需要捕获异常的代码段
代码段2 - 捕获到异常后会执行的代码
执行过程:先执行代码段1,如果执行过程中出现了异常,程序不崩溃,直接执行代码段2,然后接着执行后续其他语句
2)语法二 - 捕获代码段1中的指定异常
try:
代码段1
except 异常类型:
代码段2
finally:
代码段3
说明:
异常类型 - 类,必须是Exception类的子类(系统提供的错误类型: KeyError,IndexError,TypeError、自定义错误类型)
执行过程: 先执行代码段1,执行过程中如果出现异常就判断出现的异常类型和except后面的异常类型是否相等,如果相等程序不报错,直接执行代码段,否则程序直接崩溃。
3)方法三 - 同时捕获代码段1中的多种异常,针对不同的异常做不同的处理
try:
代码段1
except 异常类型1:
代码段11
except 异常类型2:
代码段22
...
finally:
代码段3
4.finally
不管需要捕获异常的代码段出现了什么情况,finally后面的代码段3都会执行
二、继承
1.什么是继承
继承就是让子类直接拥有父类的属性和方法
子类 - 继承者
父类 - 被继承者
python中所有的类都是直接或者简介继承自object类(object是python的基类)
2.继承的语法
class 类名(父类):
类的内容
定义类的时候如果没有写父类,父类就是object
三、给子类添加属性和方法
1.添加属性和方法
1)添加方法和类属性
直接在子类中添加
2)添加对象属性
子类是通过继承父类的__init__方法来继承父类的对象属性,
如果要在子类中添加对象属性,需要在子类的__init__方法中通过super()去调用父类__init__方法。
注意:在子类中可以通过super()去调用父类的任意方法。
2.类中方法的调用过程
通过类或者对象调用方法的时候,先看当前类中有没有这个方法,如果有直接调用;没有就看父类中有没有这个方法,如果有调用父类方法;如果没有就看父类的父类有没有,…以此类推,如果找到object都没有这个方法才报错。
四、自定义异常类型和抛出异常
1.抛出异常 - 主动让程序崩溃
语法
raise 异常类型
说明
raise - 关键字,固定写法
异常类型 - 类, 必须是Exception的子类
2.自定义异常
定义一个类,继承Exception