模块和包
模块
1.认识模块
1)python中一个py文件就是一个模块
2)模块粉丝系统模块和自定义模块
系统模块:python自带的模块,例如:os、functool、math、random、josn、re、time、datetime、turtle、smtplib、socket、threading等
自定义模块:有程序员自己创建的模块
2.导入模块
怎么在一个模块中使用另外一个模块的内容
如果我们想要使用的内容(变量、函数、类)在另外一个模块中,可以使用,但是在使用之前必须先导入
一个模块中的内容想要能被其他模块使用的前提:模块必须符合变量名的要求(是标识符、不是关键字)
3.怎么导
1)import 模块名
导入指定模块,导入后可以通过’模块名.'的方式使用这个模块的所有全局变量
import 模块1,模块2:同时导入两个模块
2)from 模块名 import 变量名1,变量名2,…
导入指定模块,导入后可以直接使用import后面所有变量
3)from 模块名 import *
导入指定模块,导入后可以直接使用模块中的所有全局变量
4)import 模块名 as 新模块名
对模块名重新命名
from 模块名 import 变量名1,变量名2 as 新变量名2,…
对变量名2重命名
4.导入的原理与阻止导入
1)导入的原理
不管是通过import直接导入模块,还是通过from-import导入模块中的变量,原理都是进入指定模块,将模块中的代码全部执行一遍
2)阻止导入
在被导入的模块中加指定的if语句(main提示出来的if语句)
if _ _ name _ _== ‘_ _main_ _’:
需要被阻止导入的代码
包
1.什么是包
包含_ _init_ _.py文件的文件夹就是包
2.导入包中的模块
方式一:
import bao.模块 as 新名字
方式二:
from 包 import 模块1,模块2,。。。
from 包 import *
from package1 import jsonfile
方式三:
from 包.模块 import 变量1,变量2,。。。
from packge1.jsonfile import read_json,name
read_json()
print(name)
方式四:
如果要使用包中_ _init_ _.py中的内容,直接用包区导入和使用
创建快捷键
封装通用功能
异常
1.异常
异常就是错误(程序报错 == 程序出现异常)
如果执行程序的过程中出现异常,程序会直接结束,不会在接着往后执行
2.异常捕获
异常捕获就是让程序在出现异常的时候,不报错,并且可以程序可以继续执行。
什么时候需要异常捕获:明明知道某段代码可能会出现异常,但是出现异常原因不是代码写错了,而是因为使用者操作不当导致的,又不想因此导致程序崩溃,就可以使用异常捕获
语法1:捕获所有的异常
try:
代码段1(需要捕获异常的代码段)
except:
代码段2(捕获到异常后会执行的代码)
执行过程:先执行代码段1,执行过程中如果出现异常不报错马上执行代码段2,然后再执行后续的其他代码。如何代码段1没有出现异常,不执行代码段2,直接执行后续的其他代码。
语法2:捕获特定异常
try:
代码段1(需要捕获异常的代码段)
except 异常类型:
代码段2(捕获到异常后会执行的代码)
语法3:同时捕获多种异常,针对不同异常做相同出理
try:
代码段1(需要捕获异常的代码段)
except (异常类型1,异常类型2,。。。):
代码段2(捕获到异常后会执行的代码)
语法4:同时捕获多种异常,针对不同异常做不同出理
try:
代码段1(需要捕获异常的代码段)
except (异常类型1):
代码段2(捕获到异常后会执行的代码)
except (异常类型2):
代码段2(捕获到异常后会执行的代码)
3.抛出异常
主动让程序奔溃
raise 异常类型