一 什么是异常
异常就是程序运行的过程中出现了错误
bug 就是指异常的意思,因为历史因为小虫子导致计算机失灵的案例,所以延续至今,bug 就代表软件出现错误。
二 异常的捕获方法
1.为什么要捕获异常
在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。
2.捕获异常的方法
3.如何捕获常规异常
这个基本的语法也可以捕获全部的异常。
4.如何捕获指定异常
异常有很多种类型
NameError 是异常类型。
通过 as 设置一个别名,将异常作为一个对象取到,可以打印这个 e ,记录着异常的具体信息。
5.如何捕获多个异常
6.捕获异常并输出描述信息
7.捕获所有异常
父类引用指向子类实例,这里Exceptione是父类引用,抛出的异常是子类实例。
8.异常else
9.异常的finally
finally下有异常就需要在finally中嵌套try捕捉。
也可以不用finally,直接取消缩进跳出异常捕获结构,进而表示无论如何都要执行的代码。
三 异常的传递
1.什么是异常的传递性
不用去找到底是哪句话错了,只要在最后的地方捕获到就好了。
传递上去。
四 Python 模块
1.模块的导入
什么是模块
模块就是一个 Python 代码文件,.py结尾,内含类、函数、变量等,我们可以导入进行使用。
time模块就是time.py。
ctrl + 左键进入这个文件。ctrl + f 搜索。
模块的导入方式
. 表示层级关系。time . sleep 表示sleep属于time里面。
通过模块. 去使用里面的类,函数,变量。
只能用sleep。
这两个只是写法不一样。
import time 的使用要. 这个的使用直接sleep()
给具体的模块或功能改名。
注意
2.自定义模块
为什么自定义模块
如何自定义模块
模块化编程,方便程序移植和更改,提高可读性。
测试模块
在模块代码里面写text()是为了测试代码是否可以正确运行,但是在外面文件想导入这个模块的时候, 不想执行测试的那行代码。就用—main—变量解决。
python有一个内置变量叫—name—,在模块里面运行的时候这个—name—变量会被标记为—main—,然后这个 == 判断就为 True。
当从外面导入这个模块的时候,这个—name—(内置变量)的结果就不是—main —了。进不去if ,所以不会执行测试的代码。
也就是只在当前文件中调用该函数,其他导入的文件内不符合该条件,则不执行test函数调用。
——all——
import * 这个 * 代表所有,但是这个所有来自—all—变量的定义,如果不写这个all就是所有都可以用。all 只作用在 * 上,但是可以手动导入 text_B。
注意
模块2的 my_test 。
五 Python 包
1.自定义包
为什么有python包
什么是python包
包就是一个文件夹,里面可以存放许多Python 的模块(代码文件)通过包,在逻辑上将一批模块归为一类,方便使用。
模块是文件(.py),包是文件夹。
_init_.py 文件的作用
创建包会默认自动创建的文件,通过这个文件来表示一个文件夹是Python 的包,而非普通的文件夹。只要这个文件在这个文件夹里面,那这个文件夹就是python包。如果没有这个文件,那这个文件夹就只是一个普通的文件夹。
如何创建python包
如何导入python包
不推荐 import my_package 导入文件夹干啥,最少也要导入个具体的文件。
_all_变量的作用:
同模块中学习到的是一个作用,控制 import* 能够导入的内容 。
2.第三方包
什么是第三方包
第三方包就是非 Python 官方内置的包,可以安装它们扩展功能,提高开发效率。
如何安装第三方包
使用pip如何网络优化
六 综合案例