1、错误和异常
(1)语法错误
每种编程语言都有自己的语法规则,只要不按照语法规则写,就会出现SyntaxError 。如图所示:
(2)异常捕获
异常是相对于正常而言的,值摸个时间发生在程序执行过程中并影响程序正常执行流程,使得程序本身无法正常处理该事件,导致程序终止。
常见的异常类型:
a、 BaseException:所有异常的基类。
b、AttributeError:访问不存在的属性。
c、KeyboardInterrupt:当在键盘上按住 Ctrl+C 时会触发该异常
d、NameError:使用了没有定义的对象。
e、TypeError:数据类型错误
f、IndexError:错误的位置,如超出了元素位置范围
使用except关键字捕获相应类型的异常
把可能出现问题的代码,放在try中
把处理异常的代码,放在except中
示例如下:
出现TypeError,程序终止运行
使用except关键字捕获异常信息并通过该关键字下的代码块进行处理,避免了一些‘可预测异常’影响程序正常执行
还可以使用except关键字捕获相应类型的异常,except关键字后可以接相应的异常类型,当try代码块中的代码报错时,只有抛出与except关键字后异常类型相同的异常,才会执行except后的代码逻辑;如果except关键字后没有接异常类型,那么任何一场都会出发except代码块中的代码逻辑。
从上图可以看出except代码块并没有被执行,因为该异常属于NameError
finally关键字,无论代码是否抛出异常,程序都会执行finally下的代码块
(3)异常处理
try .....except....捕获到的异常,我们应该怎么处理?
异常处理的原则是处理可预见的异常,向上抛出当前无法处理的异常,最终的目的就是方便程序编写者定位出异常出现的位置,以及原因。
2、类
(1)python中同样是使用关键字class来创建一个新的类,class后紧跟类的名字和该类继承的父类,最后以冒号结尾。
所有默认继承object类,类中的方法称为类方法,其中第一个参数通常为self,self表示类的实例对象本身。
类的创建以及实例化如下:
(2)类的初始化方法:我么在进行编码时一般希望传入自定义参数,这时就需要重写——init——方法
代码如下:
(3)继承
在Python中类对象是可以继承的,通过继承,子类可以拥有父类所有的属性和功能
子类可以新增和修改父类功能
super
子类中重写的方法会把父类方法中的逻辑全部覆盖,super可以基于父类方法中的代码添加新的逻辑,从而不需要被全部清空重写
(4)多态
不同的子类对象调用相同的父类方法,产生不同的执行结果。