多继承

1.多继承:子类拥有多个父类,并且具有所有父类的属性和方法

2.语法:

class 子类名(父类名1, 父类名2...)

例子:son继承father和mother 

python 怎么控制台输入 python控制台输入数字_python 怎么控制台输入

python 怎么控制台输入 python控制台输入数字_错误类型_02

3.特殊情况:如果父类中存在同名的方法,子类对象如果调用方法,会调用父类1的方法,但是应该尽量避免此情况 

异常

1.定义:程序停止执行并且提示错误信息的动作

2.捕获异常:某些代码执行结果不知道是否正确,可以用try来捕获异常

try:
    尝试执行的代码
except 错误类型1:
    针对错误类型1,对应的代码处理
except (错误类型2, 错误类型3):
    针对错误类型2 和 3,对应的代码处理
except Exception as result:
    print("未知错误 %s" % result)
else:
    没有异常才会执行的代码
finally:
    无论是否有异常,都会执行的代码

3.异常传递:当函数/方法执行出现异常,会将异常传递给 函数/方法的调用一方如果传递到主程序,仍然没有异常处理,程序才会被终止。所以一般在主函数中增加异常捕获

4.异常错误类型:

1. Exception:所有异常的父类
2. ValueError:类型转换错误
3. ZeroDivisionError:以0作除数
 


作业1:通过异常捕获,处理两个数的相除

def inputs():
    try:
        num1=int(input('输入第一个数:'))
        num2=int(input('输入第二个数:'))
        result=num1/num2
    except ValueError:
        print('输入非法字符')
    except ZeroDivisionError:
        print('以0作除数')
    except Exception as result:
        print('未知错误:%s'%result)
    else:
        print('%d/%d=%.1f'%(num1,num2,result))
    finally:
        print('程序结束')
inputs()

输入第一个数:10
输入第二个数:0
以0作除数
程序结束

作业2: 按照控制台提示输入1~3之间任一个数字,程序将输出相应的课程名称。 根据键盘输入进行判断。如果输入正确,输出对应课程名称。如果输入错误,给出错误提示。 不管输入是否正确,均输出“欢迎提出建议”语句。

def inputs():
    list=['python课程','Diango课程','Flask课程']
    try:
        courseId=int(input('请输入课程代号(1-3之间的数字):'))
    except ValueError:
        print('输入格式不正确')
    else:
        if courseId<1 or courseId>3:
            print('范围必须在1-3之间')
        else:
            print(list[courseId-1])
    finally:
        print('欢迎提出建议')
inputs()

请输入课程代号(1-3之间的数字):54
范围必须在1-3之间
欢迎提出建议