Python学习 Day8
异常
1、定义
当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误提示,这就是所谓的异常。


2、捕获指定异常

注意: 1、如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常 2、一般try下方只放一行尝试执行的代码

3、捕获多个指定异常
当捕获多个指定异常时,可以把要捕获的异常类型的名字,放到except后,并使用元组的方式进行书写

4、捕获异常描述信息

5、捕获所有异常

6、异常的else
else表示的是如果没有异常要执行的代码

7、异常的finally
finally表示的是无论是否异常都要执行的代码,例如关闭文件

8、异常的传递

9、自定义异常
在Python中,抛出自定义异常的语法为 raise 异常类对象

模块和包
Python模块(Module),是一个Python文件,以 .py 结尾,包含了Python对象定义和Python语句。 模块能定义函数,类和变量,模块里也能包含可执行的代码
1、导入模块的方式
import 模块名 from 模块名 import 功能名 from 模块名 import* import 模块名 as 别名 from 模块名 import 功能名 as 别名
1.1、import

1.2、from...import...
调用不需要在书写模块名.功能名()

1.3、from ... import*
调用不需要在书写模块名.功能名(), * 表示导入当前模块所有的功能
1.4、as定义别名

模块名定义为别名后不能再使用原模块名,只能使用别名
2、制作模块
在python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字,也就是说定义模块名必须符合标识命名规则。
2.1、定义、测试模块
新建Python文件
_name_是系统变量,是模块的标识符,值是:如果是自身模块值是_main_,否则就是当前模块名
2.2、调用模块
当在别的文件中调用自定义的模块时自定义模块内的print会输出模块名

2.3、模块定位顺序
当导入一个模块,Python解析器对模块位置的搜索顺序是: 1、当前目录 2、如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录 3、如果都找不到,Python会查看默认路径
模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和有安装过程决定默认目录。 注意: 自己的文件名不能和已有模块重复,否则导致模块功能无法使用 使用from 模块名 import 功能的时候,如果功能名字重复,调用到的是最后定义或导入的功能
2.4、_all_()
如果一个模块文件中有_all_变量,当使用from xxx import * 导入时,只能导入这个列表中的元素
模块文件:


3、包
包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为_init_.py文件。那么这个文件夹就称之为包。
3.1、制作包
[new]--[Python Package] --输入包名————[OK]————新建功能模块(有联系的模块) 注意:新建包后,包内会自动自动创建_init_.py文件。这个文件控制着包的导入行为。
3.2、导入包
方法1 import 包名.模块名
包名.块名.目标

方法2 注意:必须在_init_.py文件中添加_all_ = [],控制允许导入的模块列表
from 包名 import * 模块名.目标


