美文网首页
Python 模块与包

Python 模块与包

作者: 倔强的潇洒小姐 | 来源:发表于2018-04-11 23:49 被阅读44次

    默认路径:Lib\site-packages

    模块与包的概念

    1、一个.py文件就可以成为一个模块(Module)
    2、为什么要选用模块呢?
    代码的封装和共用,因为不可能所有的代码都写在一个文件里面,所以就会有很多个.py文件,那么彼此之间怎么引用的呢,就是通过导入.py,而导入时该文件被称为模块
    3、模块的层级关系
    模块的上级是包(Package),包的上级还是包,包相当于一个文件夹,区别于目录结构的关键因素是包下面有一个init.py,它可以是空文件

    模块与包.png

    引用模块的方法

    1、from 包名 import 模块名:代码中可以直接使用模块名称
    (也可以直接导入模块中的方法:from 模块名 import 方法)

    from 模块名 import 方法.png

    2、import 包名
    代码在引用时需要加.号,即包名.模块名,多级包目录就用多个.号

    import 包名.png

    3、import 模块名
    前提:模块和当前py文件在同一目录

    模块别名

    import 模块名 as 别名:后续代码就可以使用别名来代替模块名了

    模块别名.png

    使用场景:比如版本升级导致这个模块包名和升级后的不一样,使用别名后代码内部不用改

    比如说 python2 用的是import stringIO as A ,到了Python3,stringIO已经变成IO了,import IO as A,这样其余代码引用A的方法、函数就不会报错了

    引包错误

    如图所示:代码中引用的requests模块,运行程序时却提示“AttributeError: module 'requests' has no attribute 'get'”,这个错误与Python的引包机制有关

    引包错误.png

    原因:文件命名与引用的模块一样了,可能是自引用,也有可能是程序所在目录下出现了重名文件或目录

    PS:当在程序中“import”一个模块或库时,Python首先会查找当前目录下是否存在同名的Python文件,若存在则会优先引用当前目录下的同名文件

    所以呢,在给编写的程序文件命名时一定要注意

    相关文章

      网友评论

          本文标题:Python 模块与包

          本文链接:https://www.haomeiwen.com/subject/zbnchftx.html