模块和异常
生成器
- 容器(是一种可以创建多个数据的容器),生成器中保存的是创建数据的方法.而不是数据本身
- 特点:
- a.打印生成器无法查看元素;
- b.不能通过len统计元素的个数;
- c.如果需要生成器中的数据,必须将数据取出,而且取一个就少一个
- 生成器和获取元素的方法和迭代器一模一样
- 怎么创建生成器
- 调用带有yield关键字的函数,就可以得到一个生成器
- 怎么控制生成器中元素的个数和元素的值
- 执行创建生成器的函数的函数体的时候,会遇到几次yield,对应的生成器就可以创建几个数据,每次遇到yield,yield后面的值就是能创建出来的数据
模块
- python中一个py文件就是一个模块
- 怎么在一个模块中使用另外一个模块中的内容
- 前提:如果想要在一个模块中使用另外一个模块中的内容,被使用的模块的模块名必须符合变量名的要求
- 导入模块:
- import 模块名 - 导入指定模块,导入后可以通过’模块名.×××’的方式使用这个模块中的所有内容
- from 模块名 import 内容1, 内容2, … - 导入指定模块,导入后可以直接使用指定内容
- from 模块名 import * - 导入指定模块,导入后可以直接使用模块中所有内容
- import 模块名 as 新模块名 - 导入指定模块后对应模块进行重命名
- from 模块名 import 内容1 as 新内容 - 对导入的内容重命名
包
-
包含__init__.py文件的文件夹就是包
-
怎么使用包或者文件夹中的模块中的内容
-
import 包名 - (只适用于包)导入指定的包,导入后可以通过’包名.XXx’去使用包中__init__.py文件中的所有的内容
-
from 包含 import 模块名1, 模块名2,… - 导入指定包中指定的模块,导入后可以通过’模块名. xxx’使用指定模块中的内容
-
from 包名import 内容1,内容2,… (只适用于包)导入指定包中__init__.py文件中的指定内容
-
import 包名.模块名
-
from包名.模块名import内容1,内容2
-
异常
- 异常:程序出现异常(报错)会直接让程序结束运行(在哪个位置出现的异常,程序就会在哪个地方结束)
- 异常捕获 - 让程序在出现异常的时候程序不结束,还可以接着往后执行
- 语法:
-
语法结构1 - 捕获所有异常
try:
代码段1(需要捕获异常的代码)
except:
代码段2(出现异常后会执行的代码)
finally:
代码段3(最后无论如何都会执行)执行过程:先执行代码段1,执行代码段1的时候如果没有出现异常,就不执行代码段2;如果出现异常,程序不报错并且马上执行代码段2
-
语法结构2 - 捕获指定类型的异常
try:
代码段1(需要捕获异常的代码)
except 异常类型:
代码段2(出现异常后会执行的代码)
finally:
代码段3(最后无论如何都会执行) -
语法结构3 - 捕获多种类型的异常
try:
代码段1(需要捕获异常的代码)
except (异常类型1, 异常类型2, 异常类型3…):
代码段2(出现异常后会执行的代码)
finally:
代码段3(最后无论如何都会执行) -
语法结构4 -同时捕获多种
try:
代码段1
except 异常类型1 :
代码段11
except 异常类型2 :
代码段22
except 异常类型3:
代码段33
…
finally:
代码段3(最后无论如何都会执行)
-