包: # 包是一系列模块文件的结合体,表现形式是文件夹,该文件夹内部通常会包含一个__init__.py文件,本质上还是一个模块
包呢,就是前两篇博客中提到的,模块的四种表现形式中的第三种 # 把一系列模块(.py文件)组合到一起的文件夹(包)
下文呢,也将把包与模块前面的模块知识对比展开。
首先,复习下执行文件导入模块发生的一些事
""" 1.先产生一个执行文件的名称空间 2.创建模块文件的名称空间 3.执行模块文件中的代码 将产生的名字放入模块的名称空间中 4.在执行文件中拿到一个指向模块名称空间的名字 """
导入模块的写法呢,也跟导入模块基本一致(包本身也是模块的一种嘛)
from dir.dir1 import p # 从执行文件同级(或者是sys.path中路径下)的dir目录下的dir1目录导入模块p(文件夹)
准备工作:创建出如图所示的文件目录,并添加内容
def hello(): return "hello ya, i'm from dir/dir1/p"