学python的第十天

 第三方库和异常处理

第三方库

(详细使用及介绍,自行网上查找)

# awesome-python.com上按照分类查找,上面收录了比较全的第三方库

# 也可以在搜索引擎上使用相关关键词进行搜索,最好尝试英文搜索会发现更大的世界

# 安装第三方库

# 1,可以直接在pycharm中直接安装。2,也可以在终端使用pip安装。3,手动安装,下载好安装包,自行导入

 pip常用命令:

# pip install --upgrade pip          #升级pip

# pip uninstall flask                   # 卸载库

# pip list                                    # 查看已安装库

# 装第三方库时会遇到依赖包问题,一个原则,缺啥装啥

# 使用第三方库,import 库名,未使用库前显示灰色状态 

异常处理 

# 第一个异常,除零异常
# 在数学中,任何整数都不能除以0,如果在计算机程序中,将整数除以0,则会引发异常
i = input('请输入一个数:')
n = 8888
result = n / int(i)
print(result)
print(f'{n}除以{i}等于{result}')

假设除以0,输入结果如下:产生异常

 

# 第二个异常,捕获异常
# 发现异常能捕获并处理异常,不至于让程序终止运行
# 使用到:try-except语句,在try代码块中包含在执行过程中可能引发异常的语句,如果没有发生异常,则跳到except代码块执行,这就是异常捕获
# 语法规则:
# try:
#      可能会引发异常的语句
# except 异常类型:            # 异常类型可用省略
#      处理异常
# 指定具体的异常类型,则捕获指定的,不指定具体的异常类型,则捕获全部异常
# 例:指定具体的异常类型
i = input('请输入一个数:')
n = 8888
try:
    result = n / int(i)
    print(result)
    print(f'{n}除以{i}等于{result}')
except ZeroDivisionError as e:            # 捕获除零异常
    print('不能除以0,异常;{}'.format(e))
# 多个except代码块
# 多条语句可能引发多种不同的异常,对每一种异常都会采用不同的处理方式,针对这种情况,可以在try后面跟多个except代码块
i = input('请输入一个数:')
n = 8888
try:
    result = n / int(i)
    print(result)
    print(f'{n}除以{i}等于{result}')
except ZeroDivisionError as e:  # 捕获除零异常
    print('不能除以0,异常;{}'.format(e))
except ValueError as e:  # 捕获整数转换异常
    print('输入的是无效数字,异常:{}'.format(e))
# 多重异常捕获和try-except语句嵌套
# 多重异常捕获
i = input('请输入一个数:')
n = 8888
try:
    result = n / int(i)
    print(result)
    print(f'{n}除以{i}等于{result}')
except (ZeroDivisionError, ValueError) as e:
    print('异常;{}'.format(e))

# try-except语句嵌套
i = input('请输入一个数:')
n = 8888
try:
    i2 = int(i)
    try:
        result = n / int(i)
        print(result)
        print(f'{n}除以{i}等于{result}')
    except ZeroDivisionError as e1:  # 捕获除零异常
        print('不能除以0,异常;{}'.format(e1))

except ValueError as e2:  # 捕获整数转换异常
    print('输入的是无效数字,异常:{}'.format(e2))
# 使用finally释放资源
# 在try-except代码块后跟一个finally代码块可以释放资源
# 无论是try代码块正常结束,还是except代码块异常结束,都会执行finally代码块
i = input('请输入一个数:')
n = 8888
try:
    result = n / int(i)
    print(result)
    print(f'{n}除以{i}等于{result}')
except ZeroDivisionError as e:  # 捕获除零异常
    print('不能除以0,异常;{}'.format(e))
except ValueError as e:  # 捕获整数转换异常
    print('输入的是无效数字,异常:{}'.format(e))
finally:
    print('资源释放......')
# 自定义异常和手动引发异常
class wby(Exception):  # wby是自定义异常类的名称,Exception是异常父类
    def __init__(self, message):  # 构造方法,参数message是描述异常信息
        super().__init__(message)  # 调用父类构造方法,并把参数message传给父类构造方法


i = input('请输入一个数:')
n = 8888
try:
    result = n / int(i)
    print(result)
    print(f'{n}除以{i}等于{result}')
except ZeroDivisionError as e:  # 捕获除零异常
#    print('不能除以0,异常;{}'.format(e))
     raise wby('不能除以0')
except ValueError as e:  # 捕获整数转换异常
#    print('输入的是无效数字,异常:{}'.format(e))
     raise wby('输入的是无效数字')

手动引发异常结果 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WBY·~阿崟呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值