概念:
包 是一个 包含多个模块 的 特殊目录;
目录 下有一个 特殊的文件 init.py
包名的 命名方式 和变量名一致,小写字母 +
好处
使用 import 包名 可以一次导入 包 中 所有的模块。
案例演练
1)、新建一个 hm_message 的 包;
2)、在目录下,新建两个文件 send_message 和 receive_message;
3)、在 send_message 文件中定义一个 send 函数;
4)、在 receive_message 文件中定义一个 receive 函数;
5)、在外部直接导入 hm_message 的包
init.py
要在外界使用 包 中的模块,需要在__init__.py 中指定对外界提供的模块列表。
# 从 当前目录 导入 模块列表
from.import send_message
from.import receive_message
init.py
from.import send_message
from.import receive_message
send_message.py
def send(text):
print("正在发送 %s...." % text)
receive_message.py
def receive():
return "这是来自 100xx 的短信"
导入包.py
import hu_message
hu_message.send_message.send("hello")
txt = hu_message.receive_message.receive()
print(txt)
参加图片
2、发布模块
如果希望自己开发的模块,分享 给其他人,可以安装以下步骤操作
2.1 制作发布压缩包步骤
1)、创建 setup.py
from distutils.core import setup
setup(name="hm_message", #包名
version="1.0", #版本
description="itheima's 发送和接收信息模块", #描述信息
long_description="完整的发送和接收信息模块", #完整描述信息
author="itheima", #作者
author_email="itheima@itheima.com", #作者邮箱
url="www.itheima.com", #主页
py_modules=["hm_message.send_message",
"hm_message.receive_message"])
2)、构建模块
$ python3 setup.py build
3)、生产发布压缩包
$ python3 setup.py sdist
注意:
要制作哪个版本的模块,就使用哪个版本的解释器执行!