模块和包

什么是模块?
      py文件就是一个模块
      分类:
            系统模块(标准库)
            第三方模块 (需要下载的pip3 install 模块名字)
            用户自定义模块(自己写的py文件)
模块的作用?
      实现功能的重复利用,提高代码的效率
      把相似功能放到一个文件,永久保存
模块的导入方式:
      import...
      from ...import ...
import 做了什么?
      执行导入模块的代码
      创建模块的命名空间
      把模块的命名空间中的变量,方法引入
注意的问题:
      模块不会被重复导入
      避免循环导入
模块的查找顺序:
      自己所在的目录下
      内置空间
      sys.path
sys.modules
   导入模块后存入的字典 (第一个元素是模块当前路径)
sys.path 模块路径 列表
as 关键字
         给复杂模块起别名,方便使用
 
if __name__ == '__main__': # 快捷键 main+tab
      文件当脚本去执行,下面的代码执行
      文件当模块导入时,下面的代码不执行
 
   定义:
         含有__init__.py 文件的文件夹就是包
            多个模块的集合
         本质就是模块
 
绝对导入
      执行文件所在的目录
      导入要精确到模块--不出问题
      import  要调用方法,后面写的都要写上
      from  aaa.ccc  import  c  c.c()
            from . 左边的一定是个包,否则出错
            import 后面的内容一定不能带 .
相对导入:
         执行文件中不能用相对导入
         当前位置    .. 上一级目录    ... 上上目录
         当你写好的包给别人用时,自己不用可以用相对导入
 
posted @ 2019-12-03 08:39  待会聊  阅读(82)  评论(0)    收藏  举报