Python-模块与包的管理

发布时间:2019-09-10 09:18:46编辑:auto阅读(1550)

    一.模块

    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





关键字