首先介绍
模块的三种来源
    1.内置的
    2.第三方的
    3.自定义的
 四种表现形式
    1.py文件
    2.共享库
    3.文件夹(一系列的模块结合体)
    4.c++编译的 链接到python的内置的
什么是包
    他是一系列模块文件的结合体,表现得形式就是一个文件夹
    该文件夹内部通常会有一个__init__.py文件
    包的本质还是模块
首次导入包:
    先产生一个执行文件的名称空间
            1,创建包的下面的__init__.py文件的名称空间
            2,执行包下面的__init__.py文件中的代码  将产生的名字放入包下面的__init_.py文件名称
            3,执行文件中拿到一个指向包下面的__init__.py文件名称空间 的名字

在导入语句中.号的组边肯定是一个包(文件夹)

当你作为包的设计者来说
    1.当模块功能特别多的情况下 应该份文件管理
    2.每个模块之间为了避免后期模块开名字的问题 你可以使用相对导入就是利用.的形式

站在包的开发者  如果使用绝对路径来管理自己的模块的话name他只需要永远的以包的路径为基准来导入米开
站在包的使用者来说 你必须将包所在的那个文件夹路径添加到system path中(******)

在python2 如果要导入包 name 报的下面必须要有init文件  不然就会报错
在python3 如果要导入包 包的下面 有没有这个 init文件都不会报错
提示 当你在删除成旭的时候 千万不要随意删除__init__.py文件

 

posted @ 2019-07-21 19:34  杨鑫Zz  阅读(106)  评论(0)    收藏  举报