一.模块介绍

  模块就是一系列功能的集合体

    模块有三种来源:

      1.内置模块:python内提供的模块

      2.第三方模块:由第三方提供的模块

      3.自定义模块:自行定义的模块

    模块的格式:

      1.使用python编写的py文件
      2.已被编译为共享库或DLL的C或C++扩展
      3.把一系列模块组织到一起的文件夹(文件夹下有一个__init__.py文件,该文件夹称为包)
      4.使用C编写并链接到python解释器的内置模块

  如何用模块?

    1.使用内置的或者第三方模块的好处是:可以极大提升开发效率

    2.使用自定义模块的好处是可以减少代码冗余

  使用模块的大前提:一定要区分开谁是执行文件,谁是被导入文件

二.import导入模块

  使用关键字import即可导入模块:import 模块名(模块名为全是小写)

  例如:

    

python 中分模块该怎么处理 python中模块的讲解_名称空间

 

  首次导入模块发生了三件事:

    1.会产生一个模块的名称空间
    2.执行spam.py,将执行过程中产生的名字都放到模块的名称空间中
    3.在当前执行文件的名称空间中拿到一个模块名,该名字指向模块的名称空间

  多次导入相同的模块,之后的导入,都是直接引用第一次导入的结果,结果不会重新执行文件

  在执行文件中访问模块名称空间中名字的语法:模块名.名字

  例如:

    

python 中分模块该怎么处理 python中模块的讲解_python 中分模块该怎么处理_02

  使用import导入模块的优缺点:

    优点:指名道姓地向某一个名称空间要名字,肯定不会与当前名称空间中的名字冲突
    缺点:但凡应用模块中的名字都需要加前缀,不够简洁

三.from...import...导入模块

  使用from...import...导入模块

  例如

    

python 中分模块该怎么处理 python中模块的讲解_执行过程_03

  导入模块发生3件事
    1.会产生一个模块的名称空间
    2.执行spam.py,将执行过程中产生的名字都放到模块的名称空间中
    3.在当前执行文件中拿到一个名字,该名字就是执行模块中相对应的名字
  使用from...import...导入模块的优缺点:

    优点:使用时,无需再加前缀,更加简洁
    缺点: 容易与当前名称空间中的名字冲突