包: # 包是一系列模块文件的结合体,表现形式是文件夹,该文件夹内部通常会包含一个__init__.py文件,本质上还是一个模块 

包呢,就是前两篇博客中提到的,模块的四种表现形式中的第三种 # 把一系列模块(.py文件)组合到一起的文件夹(包)  

下文呢,也将把包与模块前面的模块知识对比展开。

首先,复习下执行文件导入模块发生的一些事

"""
    1.先产生一个执行文件的名称空间
    2.创建模块文件的名称空间
    3.执行模块文件中的代码 将产生的名字放入模块的名称空间中
    4.在执行文件中拿到一个指向模块名称空间的名字
"""

导入模块的写法呢,也跟导入模块基本一致(包本身也是模块的一种嘛)

from dir.dir1 import p
# 从执行文件同级(或者是sys.path中路径下)的dir目录下的dir1目录导入模块p(文件夹)

 准备工作:创建出如图所示的文件目录,并添加内容

python包-logging-hashlib-openpyxl模块-深浅拷贝-04

python包-logging-hashlib-openpyxl模块-深浅拷贝-04

def hello():
    return "hello ya, i'm from dir/dir1/p"
dir/dir1/p/__init__.py

相关文章: