包的基本使用
应当熟练掌握模块及包之间的调用关系,以后项目中常用。
1.什么是包?
包是模块的一种形式,包的本质就是一个含有__init__.py文件的文件夹。
2.为什么要有包?
如果一个模块里面很多方法,有时候需要修改里面的一些功能,查找起来很不方便。
所以需要把文件里面的方法抽离出来,分在多个文件存放,方便增加功能。
3.包怎么样?
导入包就是导入包下面的__init__.py
import ...
from ... import ...
注意的问题
1.包内所有的文件都是被导入的,而不是被执行的。
2.包内部的导入可以使用绝对导入(以包的根目录为准)和相对导入(以当前被导入的模块所在的目录为基准),推荐使用相对导入
3.当文件是执行文件时,无法在该文件内用相对导入的语法。
只有在文件被当作模块导入时,该文件才能使用相对导入的语法。
4.凡是在导入时带点的,点的左边必须是包。
import aaa.bbb.m3.f3 # 错误
import aaa
5.首次导入包发生的三件事:
1.创建一个包的名称空间。
2.执行包下的__init__.py文件,将执行过程中产生的名字存放于包的名称空间。
3.在当前执行文件拿到一个名字aaa,aaa是指向包的名称空间的。
越是困难的事越要立即去做,这样收益才会最大!!!