Python-模块与包的管理

2023-01-31 05:01:57 python

一.模块

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')
- 导入一个模块的实质是将模块的文件重新运行一次;        


wKioL1mv-86BUUiYAAD5DHFTI2Y712.png


在桌面上写一个名为happy.py的模块,由于没有/home/kiosk/Desktop的路径,所以无法加载模块

wKioL1mv-87A6WIvAAAaGfw7JQs298.png



wKiom1mv--3jCrT1AAEN5fCA03c421.png

添加路径后,可以加载自定义模块

wKiom1mv--2jOZHAAAAfdPgyot4707.png

注:如有两个相同命名的模块,先执行路径在前面的,也可以调整路径的顺序

wKiom1mwBZrjWyOIAATXQ03c7us891.png

wKioL1mwBX3ggGhRAAWTlMplPoo587.png


4.导入模块的方法:
    import module1,module2
    from 模块名 import 函数名
    from  模块名 import 函数名 as 函数别名
    import 模块名 as 函数别名
 



二.包
- 导入一个包的实质是运行包里面的__init__.py文件;
- 导入包的方法:
    import 包名.模块名
    from 包名 import 模块名
    import 包名(注意__init__.py函数的内容)

第一种 from 包名 import 模块名,不用在包里的__init__ 写入 import 模块名


wKioL1mwtFbTqVEuAACQAjuakRc959.png

wKioL1mwtFfzL6APAACmq4YPV8M789.png

wKiom1mwtHez1N6tAADU1aG0pmM578.png


第二种 import 包名,需要在包里的__init__ 写入 import 模块名

wKiom1mwtHXT2xbuAAChXgIuylk676.png

wKiom1mwtHjSF4WFAADhzZSo7Sk833.png


   
    
三.模块分类:


1.内置模块(os,sys,time)


常用的内置模块
os,sys,time,datetime,JSON/pickle,shutil,random


2.自定义模块
3.第三方模块

例:使用第三方模块itchat模块统计微信里的男女人数

wKioL1mwtcrA8ix9AAEpVb-iMeQ566.png

wKiom1mwtezhOUE9AACW2jBszf0612.png

wKioL1mwtc-BLgaiAADFnUc-u4o801.png





相关文章