day13 - 模块、包和异常
1、模块
-
认识模块
-
python中一个py文件就是一个模块
-
模块分为系统模块和自定义模块两种
-
系统模块:python自带的模块:例如:functools、math、random、re、time、datetime、turtle、smtplib、socket、threading等
-
自定义模块:由程序员自己创建的模块
-
导入模块 - 怎么在一个模块中去使用另一个模块中的内容
-
如果我们想要使用的内容(变量、函数、类)在另外一个模块中,可以用,但是使用之前必须先要导入
-
一个模块中的内容想要能被其他模块使用的前提:模块名必须符合变量名的要求(是标识符,不是关键字)
-
怎么导入模块
-
- import 模块名 - 导入指定模块,导入后可以通过’模块名.'的方式使用这个模块中的所有全局变量
-
2)from 模块名 import 变量名1,变量名2,… - 导入指定模块,导入后可以直接使用import后面的所有变量
-
3)from 模块名 import * - 导入模块名,导入后可以直接使用模块中所有的全局变量
-
重命名
- import 模块名 as 新模块名 - 对模块名重新命名
- from 模块名 import 变量1,变量2,…as 新变量名 - 对变量重命名
-
导入的原理与阻止导入
-
导入的原理
- 不管是通过import直接导入模块还是通过from-import导入模块中的变量,原理都是进入指定模块,将模块中的代码全部执行一遍
-
阻止导入
-
在被导入模块中加指定的if语句(main提示出来的if语句),将不需要被别的模块执行的代码放在这个if语句中
```python
if __name__ == '__main__':
需要被阻止的代码
```
2、包
-
什么是包
-
包含__init__.py文件的文件夹就是包
-
怎么导入包中的模块
-
方式1:import 包.模块 as 新名字
-
方式2:
from 包 import 模块1,模块2,.... from 包import *
-
方式3:from 包.模块 import 变量1,变量2,…
-
方式4:如果要使用包中__init__.py中内容,直接用包去导入和使用
3、异常
- 什么是异常
- 异常就是错误(程序报错 == 程序出现错误)
- 如果执行程序的过程中出现错误,程序会直接结束,不会再接着往后运行
- 异常捕获
- 异常捕获就是让程序在出现异常的时候,不报错,并且程序可以继续运行。
- 什么时候需要异常捕获:明明知道某段代码可能会出现异常,但是出现异常的原因不是代码写错了,又不想因此导致程序崩溃,就可以使用异常捕获
语法1:- 捕获所有类型的异常
try:
代码段1(需要捕获异常的代码段)
excpet:
代码段2(捕获到异常后会执行的代码)
其他代码
执行过程:先执行代码段1,执行过程中如果出现异常不报错马上执行代码段2,然后再执行后续的其他代码
如果执行代码段1没有出现异常,不执行代码段2,直接执行后续其他代码
2)语法2 - 捕获指定异常
try:
代码段1(需要捕获异常的代码段)
excpet 异常类型:
代码段2(捕获到异常后会执行的代码)
其他代码
3)语法3 - 同时捕获多种异常,针对不同异常做相同的处理
try:
代码段1(需要捕获异常的代码段)
excpet (异常类型1,异常类型2,...):
代码段2(捕获到异常后会执行的代码)
其他代码
4)语法4 - 同时捕获多种异常,针对不同异常做不一样处理
try:
代码段1(需要捕获异常的代码段)
excpet 异常类型1:
代码段11(捕获到异常后会执行的代码)
excpet 异常类型2:
代码段22(捕获到异常后会执行的代码)
其他代码
- 抛出异常 - 主动让程序崩溃
raise 异常类型