day10-测试编程之python的异常、模块和包

一、异常

        1.1.概念

                1).程序执行过程中,python解释器遇到错误,程序不再向下执行,并且提示错误信息,这就是异常

                2).程序不再向下执行,并且提示错误信息的动作,就是抛出(raise)异常(Java是throw)

        1.2.为什么要捕捉异常

                1).程序开发人员无法消灭异常(比如网络不稳定)

                2).只能靠捕捉异常,并对捕捉到的异常进行相应处理(图片加载失败,要提示相应的错误信息并处理)

        1.3.异常的捕获

                1).使用try...except来捕获异常并处理异常,把可能出现异常的代码放在try缩进部分

                2).except部分的代码只有在发生异常时才会执行,可以处理异常修复或信息提示

                3).只要捕捉了异常,不管异常是否发生,程序都可以正常结束

                4).在try语句中出现异常,异常后面的代码不再执行

                5).捕获指定异常时,在except后面添加异常类型---格式:except异常类型

                6).对同一个异常捕获多次,只执行第一次捕获的异常代码

                7).一次捕获多个异常格式:except(异常类型1,异常类型2,..):---作用:对不同的异常有相同的处理结果

                8).捕获任意类型异常(绝大部分)格式:exceptException:

                9).获取异常的错误信息,给异常类型起别名---except异常类型名as变量别名(变量别名中记录异常的错误信息)

        1.4.异常的完整语法

                1).格式

             

                        (else只有在没有异常时才会执行的代码,finally无论是否有异常,都会执行的代码)                 

                2).应用:在打开文件向文件写入数据时程序崩溃,此时可以在finally部分添加关闭文件资源的操作,避免系统资源浪费

        1.5.异常的传递

                1).如果在被调用的函数中有异常没有捕获处理,则会把异常传递给调用的地方

                2).最终传递到Python解释器依然没有捕获异常,则程序崩溃

        1.6.抛出异常

                1).创建Exception异常类的对象参数就是错误的提示信息

                2).使用raise抛出异常,语法:raiseException("异常的错误提示信息")

二、模块

        2.1.概念和使用

                1).以.py结尾的文件原则上都可以作为模块使用,把成熟稳定的代码封装到模块中,便于其它开发者使用

                2).模块名必须符合标识符的命名规范,(由数字,字母,下划线组成,并且不能以数字开头)

                3).模块中可以封装全局变量,函数,类等,当做工具可以提供给其它开发者使用

                4).使用模块,则需要

                        4.1).先导入模块import 模块名

                        4.2).使用模块中工具,模块名.全局变量名/模块名.函数名()/模块名.类名()

        2.2.给模块起别名

                1).作用:如果模块名太长,可以使用as给模块起别名

                2).说明

                        2.1).格式:import模块名as模块别名

                        2.2).注意:模块别名要符合大驼峰命名法则

        2.3.导入模块的两种方式

                1).import 模块名

                        1.1).特点:将模块中所有的全局变量,函数,类全部导入

                        1.2).访问方式:模块名.全局变量、模块名.函数()、模块名.类名()

                2).from模块名import全局变量/函数/类名

                        2.1).特点:将所需要的全局变量/函数/类名导入

                        2.2).访问方式:直接使用全局变量名/函数()/类名()

        2.4.模块的搜索顺序

                1).导入模块时,先在当前目录下查找,如果查找到了,就导入

                2).如果当前目录下没有找到模块,则导入系统模块

                3).可以使用__file__属性查看模块的路径,使用方式:模块名.__file__(前后各两个下划线)

                4).在开发时,给python文件起名,不要和系统的模块文件名相同

        2.5.__name__内置属性

                1).__name__内置属性可以做到,模块代码在测试情况下执行,而在被导入情况下不会执行

                2).如果在当前文件中直接打印__name__内置属性,则直接输出字符串__main__

                3).如果当前文件被当做模块导入,在导入的文件中直接运行时,则__name__内置属性,输出的就是当前被导入的模块名

                4).如果要做到代码在测试情况下执行,而不会在导入情况下执行,要在当前文件中添加if条件判断if__name__ ==”__main__"

三、包

        3.1.概念

                1).包是包含很多模块的特殊的目录

        3.2.结构

                1).包中包含_init_.py文件

        3.3.作用

                1).我们可以把包直接给调用者,调用者导入包后,可以获取到包中所有的模块

        3.4.创建包的两种方式

                1).在PyCharm中新建一个文件夹,在文件夹新建文件__init__.Py

                2).在PyCharm中新建一个文件夹,在文件夹新建文件__init__.Py

        3.5.自定义包调用

                1).需要在__init__.py文件中添加

                2).from.import 模块名

        3.6.导入包方式

                1).import包名---import 包名

                2).from包名import模块名---from包名.模块名import函数名/类名

四、今日学习思维导图

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值