一.模块
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模块统计微信里的男女人数