十三、模块之包

十三、模块之包

1、包就是一个包含有__init__.py文件的文件夹

  包本质就是一种模块,即包是用包导入使用的,包内部包含的文件也是用来被导入的

  包是文件夹,那文件夹就是用来组织文件的

2、首次导入包,发生三件事:

  1.以包下的__init__.py文件为基础来生产一个名称空间

  2.执行包下的__init__.py文件的代码,将执行过程中产生的名字都丢到名称空间中

  3.在当前执行文件中拿到一个名字p1,该p1就是指向__init__.py名称空间的

 总结:包的使用无非注意三点

1.但凡是在导入语句中带点的,点的左边都必须是一个包

2.导入包就是在导包下的__init__.py文件

3.如果使用绝对导入,绝对导入的起始位置都是以包的顶级目录为起始点

4.但是包内部模块的导入通常应该使用相对导入,用.代表当前所在的文件(而非执行文件,..代表上一级)

强调:

1.相对导入只能包内部的模块之间相互导入使用

2...上一级不能超出顶级包

 

posted @ 2018-10-12 14:57  Maple_feng  阅读(100)  评论(0编辑  收藏  举报