模块及模块的相关操作

一 .模块

  1.语法: from  模块名  import  变量(函数,类)名

     (1)函数()

  2.函数的重命名

     (1)from 模块名  import  变量(函数,类)名 as 变量(函数,类)名

  3  from  模块名 import  *

    (1) 可以导入模块中的所有内容

    (2) __all__["变量名(函数名, 类名)"], 可以控制*导入的内容

  4.多行导入和重命名

     (1)from  模块名 import 变量名(函数名,类名) as 新的名,变量名(函数名,类名) as 新的名

二 模块的相关操作

  1.把模块当做脚本运行

    (1) py文件运行的两种形式  1.以模块的形式运行  2.以脚本的形式运行

    (2) 当我们希望一段代码在被当做模块导入后不执行,需要在这段代码前加 if __name__  == "__main__"

    (3)sys.modules 一字典的形式存储了所有被导入的文件的文件名和这个文件的内存地址

    (4)__name__和__main__ 的关系

    (5)自己模块中的反射

  2.模块搜索路径

    (1)模块的所有搜索路径都在sys.path列表中

  3.pyc编译文件

    (1)节省模块导入时间

  4.模块重新加载

    (1)在执行import后, 再去修改这个被导入模块中的内容,程序感应不到.

    (2)reload这个方法可以强制程序重新导入模块

  5.在模块的导入中, 不要产生循环引用问题

三 包

  包的定义:集合一组py文件,提供一组复杂的功能

  1.直接导入模块

    (1) import 包.包.模块名

         包.包.模块名.变量(函数)

    (2) from 包包 import 模块名

     模块名.变量(函数)

  注意:从包中导入模块要注意,这个包的所在目录是否在sys.path中

   2导入包

      (1).包中模块的绝对导入  使用时,包的位置不能变

      (2)包中模块的相对导入,    

原文地址:https://www.cnblogs.com/hu13/p/9416324.html