10 模块与包[python基础]

python模块介绍

  • 什么时模块?

        //模块和包就像是文件和文件夹的关系。
    
        //模块就是程序,模块的名称就是不含.py后缀的文件名
    
        //模块力一般是放的可重用的一些方法等。
    
  • 如果没有模块将会怎么样?

        //可维护性更强
    
        //方便代码重用
    

模块导入、引用及定位

  • 导入:import

        //新建hello.py  hello模块
    
        def func():
    
            print('hello')
    
        //在其他程序文件引用模块,新建test.py
    
        import hello
    
        hello.func()    //结果输出hello
    
  • 定位:当前包>内置函数>sys.path(环境变量,这个环境变量是python的一个专属环境变量,它在内置模块sys中,用 import sys->>sys.path 就能看到)

        //首先在当钱包中找,然后再内置函数中找,最后去环境变量找
    
     ![image.png](https://upload-images.jianshu.io/upload_images/10345717-bd3a776034a787f6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    
        //不过不在hello.py模块同目录下引用hello,会出现没有hello模块的报错
    
        ![image.png](https://upload-images.jianshu.io/upload_images/10345717-4bf0efd3ede4c560.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    
        //通过把包含hello.py的目录加入到python专属环境变量sys.path中,就可以实现引入hello模块.  加入方法:import sys>>sys.path.append("目录路径")>>sys.path 
    
        //注意如何保存的问题.还要注意append时目录路径要用双斜杠,这是windows环境变量的规定写法
    

模块的属性

  • dir----列出对象的所有属性及方法

        import hello
    
        dir(hello)   //返回模块所有的属性和方法,其中除了func是我们自己写入的,其他都是python自动初始化生成,['__builtins__','__cached__','__doc__','__file__','__loader__','__name__','__package__','__spec__','__func__',]   (都是双下划线)
    
        //hello里面的方法也是可以通过dir查看的
    
        dir(hello.func)  //会列出很多初始化生成的内容,__new__和__init__就包含在内.
    
  • help---查看类,方法的帮助信息

        help.__name__    //返回模块名'hello',模块名默认就是文件名去掉.PY
    
        help(hello)   //可以看到文档注释,方法注释,名字,目录等
    
        help(hello.func)  //可能方法用法注释
    
        help.__doc__  //返回文档注释
    
  • name-------模块的名称

  • file------模块文件的全路径 'C:\USERS\..\..\hello.py'

        //在控制台操作时,修改了py代码要用quit()退出文件再重新加载才可以生效.
    
        //自定义模块要先把方法框架和注释做好,最后填充代码
    

包的简介

  • 可以用来组织模块(可以包含其他模块的模块),类似文件夹,文件夹也是另一个文件夹的模块

  • 目录必须包含文件init.py(下划线)

  • 模块重名问题解决

        模块名相同,只要不再同一个包就可以,所以包可以解决模块重名问题
    
      ![image.png](https://upload-images.jianshu.io/upload_images/10345717-2a05f8a78b37d056.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    

包的引用

  • 引入整个包:import module //和引入模块一样,包也被看做是一个模块

  • 只是引入所需要的属性和方法 //from module.xx.xx inport xx (从哪个地方引入)

        from pay.alipay.tools import pay 
    
  • 指定别名:from module.xx.xx import xx as renename //用于从不同包引入同名模块

  • 引入所有:from module.xx import * 避免引入重名包,尽量避免这种写法.

    //注意:引用整个包的方法和注意事项
    
    //如果想引入如图中的整个pay,然后使用alipay/tools.PY里面包含的方法
    
    //应当首先再pay下的_init_.py中加入
    
        from . import alipay   
    

    //注意当我们进入控制台时如果是再pay包上层目录时,需要使用from . import alipay "."的意思时运行from时在pay的当前目录下找,而不是去进入控制台时的chapter01目录中找.

    //如果不存在上面情况,可以直接用 import alipay

    //然后再alipay下的_init_.py中加入
    
        from . import tools
    
    //调用tools.py中的pay方法
    
        import pay   //这个pay是最上层的包
    
        pay.alipay.tools.pay()
    
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容