day8 模块和包

什么是模块?

  py文件就是一个模块

模块的分类:

  系统模块(标准库)

  第三方模块(需要下载的pip3 install 模块名字)

  用户自定义模块(自己写的py文件)

模块的作用:

  实现功能的重复利用,提高代码的效率

  把相似功能放到一个文件,永久保存

模块的导入方式:

  import

  from...import...

import 做了什么?

  1、执行导入模块的代码

  2、创建模块的命名空间

  3、把模块的命名空间中的变量,方法引入

注意的问题:

  模块不会被重复导入  

  避免循环导入

模块的查找顺序:

  自己所在的目录下

  内置空间

  sys.path

sys.modules

  导入模块后存入的字典(第一个元素是模块当前路径)

sys.path  模块路径  列表

as关键字

  @给复杂模块起别名,方便使用

if__name__ == '__main__':  #快键键  main+Tab

  文件当脚本去执行,下面的代码执行

  文件当模块导入时,下面的dam不执行

定义:含有__init__.py 文件的文件夹就是包

    多个模块的集合

    本质就是模块

绝对导入:

    执行文件所在的目录

    导入要精确到模块__不出问题

    import 要调用方法,后面写的都要写上

    from aaa。ccc import   c   c.c()

      from . 左边的一定是个包,否则出错

      import  后面的内容一定不能带 .

相对导入:

  执行文件中不能用相对导入

  .当前位置  .. 上一级目录   ... 上上目录

  当你写好的包给别人用时,自己不可以用相对导入  

  

原文地址:https://www.cnblogs.com/wyfmc/p/11944863.html