斤斤计较之Python:包
包通常是使用用“圆点模块名”的结构化模块命名空间。ex.harry,就是ex包中的harry子模块。
使用ex.harry.print_name 就导入了ex中的print_name特定的函数
在包的目录中必须包含 init.py 文件,注意此文件可以为空,但必须有。
包中的 init.py 代码定义了一个名为 all 的列表,就会按照列表中给出的模块名进行导入,加快导入速度。
在包的 init.py 文件代码执行之前,它中定义的__path__ 初始化一个目录名列表。它可以修改,它作用于包中的子包和模块的搜索功能。
from . import echo # 导入同目录的模块
from … import echo # 导入上层目录的模块
from …Aimport B # 从上层目录中的A导入模块B