一.模块
1.模块实质上就是一个以.py结尾的文件,可以被其他py文件调用;
2.使用模块
- 大大提高了代码的可维护性;
- 编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用;
3.导入模块时,会去python的默认搜索路径中寻找;
- python的默认搜索路径sys.path,
- 添加自定义的搜索路径时,sys.path是一个列表,sys.apth.append("path");
- sys.path.append("/home/kiosk/1-Pythonv3/day08/code")
- sys.path.insert(0,'/home/kiosk')
- 导入一个模块的实质是将模块的文件重新运行一次;
在桌面上写一个名为happy.py的模块,由于没有/home/kiosk/Desktop的路径,所以无法加载模块
添加路径后,可以加载自定义模块
注:如有两个相同命名的模块,先执行路径在前面的,也可以调整路径的顺序
4.导入模块的方法:
import module1,module2
from 模块名 import 函数名
from 模块名 import 函数名 as 函数别名
import 模块名 as 函数别名
二.包
- 导入一个包的实质是运行包里面的__init__.py文件;
- 导入包的方法:
import 包名.模块名
from 包名 import 模块名
import 包名(注意__init__.py函数的内容)
第一种 from 包名 import 模块名,不用在包里的__init__ 写入 import 模块名
第二种 import 包名,需要在包里的__init__ 写入 import 模块名
三.模块分类:
1.内置模块(os,sys,time)
常用的内置模块
os,sys,time,datetime,json/pickle,shutil,random
2.自定义模块
3.第三方模块
例:使用第三方模块itchat模块统计微信里的男女人数