济南网站推广建设有限公司,2015微信网站设计,摄影设计网站,专业的seo排名优化day13 模块和异常捕获
一、生成器
#xff08;一#xff09;、什么是生成器
1#xff09;容器#xff08;是一种可以创建多个数据的容器#xff09;#xff0c;生成器中保存的是创建数据的方法#xff0c;而不是数据本身。2#xff09;特点#xff1a;
a. 打印生成…day13 模块和异常捕获
一、生成器
一、什么是生成器
1容器是一种可以创建多个数据的容器生成器中保存的是创建数据的方法而不是数据本身。2特点
a. 打印生成器无法查看元素
b.不能通过len统计生成器中的元素的个数
c.如果需要生成器中的数据必须将数据取出来而且去一个就少一个c.生成器获取元素的方法和得嗲气获取元素的方式一样二、怎么创建生成器
调用带有yield关键字的函数就可以得到一个生成器
def func():yieldprint(hello)三、怎么控制生成器中元素的个数和元素的值
执行创建生成器的函数的函数体的时候会遇到几次yield对应的生成器就可以创建几个数据每次遇到yieldyield后面的值就是能创建出来的数据。
二、模块
一、什么是模块
python中一个py文件就是一个模块
二、怎么在一个模块中使用另外一个模块中的内容
1前提如果想要在一个模块中使用另外一个模块中的内容被使用的模块的模块名必须复合变量名的要求2导入模块
a. import 模块名 —— 导入后可以通过‘模块名.xxx’的方式使用这个模块中所有的内容
b.from 模块名 import 内容1,内容2,... —— 导入指定模块导入后可以直接使用指定内容。
c. from 模块名 import * —— 导入指定模块导入后可以直接使用模块中所有的内容
d. import 模块名 as 新模块名 —— 导入指定模块后对模块进行重命名‘新模块名.xxx’
e. from 模块名 import 内容1 as 新内容1 —— 对导入的内容重命名导入方式1
import test
print(test.func1())
print(test.a)导入方式2
from test import a, func1
func1()
print(name) # 会报错因为name模块没有从test模块中导入进来导入方式3
from test import *
print(a)
print(name)
func1()导入方式4
import test as t1
print(t1.name)
print(t1.a)
t1.func1()导入方式5
from test import name as t_name
print(t_name) # 小明from test import a as t_a
print(t_a) # 100from test import func1 as t_func1
t_func1() # 你好世界三、包
一、什么是包
包含_ _init_ _.py文件的文件夹就是包二、怎么使用包或者文件夹中的模块中的内容
1import 包名 —— 只适用于包导入指定的包导入后可以通过‘包名.xxx’去使用__init__.py文件中所有的内容2from 包名 import 模块名1,模块名2,模块名3,... —— 同时适用于包和普通文件夹导入指定包中指定的模块导入后可以通过‘模块名.xxx’来使用模块中的内容
3from 包名 import 内容1,内容2,... —— 只适用于包导入指定包中__init__.py文件中的指定内容
4import 包名.模块名 —— 同时适用于包和普通文件夹
5from 包名.模块名 import 内容1,内容2,... —— 同时适用于包和普通文件夹导入方式1
import files2导入方式2
from files1 import abc导入方式3
from files2 import age导入方式4:
import files1.abc导入方式5
from files1.abc import xjh 注以上几种方式设计的文件和模块都是在pycharm中创建好了的包或者文件
四、异常捕获
一、异常 —— 程序中的错误
程序出现异常报错会直接让程序结束运行在哪个位置出现的异常程序就会在哪个位置结束
二、异常捕获 —— 让程序在出现异常的时候程序不结束还可以接着往后执行
1语法结构1 —— 捕获所有异常
try:代码段1 —— 需要捕获异常的代码
except:代码段2 —— 出现异常后立刻执行的代码
finally:代码段3 —— 最后无论如何都会执行的代码执行过程先执行代码段1执行代码段1的时候如果没有出现异常就不执行代码段2如果出现异常程序不会报错并且马上执行代码段2try:age int(input(请输入你的年龄))
except:print(年龄输入有误)2语法结构推荐使用 —— 捕获指定类型的异常
try:代码段1 —— 需要捕获异常的代码
except 异常类型:代码段2 —— 出现异常后立刻执行的代码
finally:代码段3 —— 最后无论如何都会执行的代码3语法结构3 —— 同时捕获多种异常
try:代码段1 —— 需要捕获异常的代码
except 异常类型1,异常类型2,...代码段2 —— 出现异常后立刻执行的代码
finally:代码段3 —— 最后无论如何都会执行的代码4)语法结构 —— 同时捕获多种异常
try:代码段1
except 异常类型1:代码段11
except (异常类型2,异常类型22,...):代码段22
except 异常类型3:代码段33
finally:代码段3 —— 最后无论如何都会执行的代码
...