面向对象与异常处理

面向对象与异常处理

概要

  • 面向对象

  • 异常处理


详情

  • 面向对象

1、对象的概念

对象是数据与功能的结合体。

Python中所有的程序都可以用"数据"和"功能"结合的形式表达。

类是多个对象相同数据和功能的结合体。

#   在程序中先定义类,才能产生对象
#   定义类的语法结构
class 类名:            #类名的首字母最好用大写
    数据1              #缩进的代码块表示类的对象的相同数据和功能
    def 功能1(self):   #类中的函数称为功能/方法
        pass
eg:
    class Student:
        name = ''
        age = 18
        def chooseCourse(self):
            print('我要选择的课程')
    可以通过类名加括号的形式调用类产生对象,即实例化
    #每次类的实例化都会产生一个新的对象
    obj01 = Student()
    obj02 = Student()
    obj03 = Student()
    #上述是三个不同的对象,调用id()方法的返回值不同

2、访问数据和功能

类的属性包含在类中定义的变量和函数,即类的数据和功能。

类中定义的'变量/函数'可以共享给所有该类产生的对象使用。
    对象访问时,会先从自己的名称空间查找自身独有元素,未找到则去类的名称空间查找共有元素。
#访问方法
1.类名.__dict__['属性名']
2.类名/对象名.数据名
  类名/对象名.功能名()   

3、独有的数据

1.类名.__dict__
  返回类内部所有的'共有'元素
2.对象名.__dict__
  返回该对象
'独有'的元素 3.对象调用类中定义的方法时会自动将'对象本身'当做第一个位置参数传入 4.形参self指代当前对象

4、继承

1.父类的概念
    多个类相同的数据和功能的结合体
2.继承
    一个类可以继承多个父类从而获得多个父类的属性
    #语法
    class 类名(父类名):
        独有属性
    或者
    class 类名(父类名1,父类名2,...):
        独有属性
3.对象属性的查找顺序
    自身名称空间 ---> 产生该对象的类 ---> 该类的父类  


  • 异常处理

异常分为两种:语法错误、逻辑错误

# 1、语法错误
    不被允许,严重影响程序运行,应立即修改,在Python中以红色下划曲线表示。
# 2、逻辑错误
    可被允许少量出现,又称Bug。
语法结构
    try:
        被检测的代码段
    except 错误类型 as 变量名:
        出现对应类型异常时执行的分支代码(变量名指向具体错误信息)
'''
    Exception/BaseException可指任何一种错误类型
    try、exception之间被检测的代码段尽可能少
    异常在程序中只可少量使用(尽量减少可预知错误的出现)
'''
# 3、其他关键字
    else
        被检测的代码段未出现任何异常时会执行,与for/while使用场景类似
    finally
        被检测的代码段执行完毕后,无论异常与否都会执行finally后代码
'''异常类型正确或选择万能异常时才能正确执行分支代码,图示如下'''

无异常处理,直接报错

 

异常类型正确,处理对应类型的异常

 

异常类型错误,不会处理不符合的异常

 

万能异常,可以处理任意类型的异常

posted @ 2021-08-31 15:11  Leguan001  阅读(76)  评论(0)    收藏  举报