1 模块
1.1 模块的概念
模块是 Python 程序架构的一个核心概念
- 每一个以扩展名
py
结尾的Python
源代码文件都是一个 模块。 - 模块名 同样也是一个 标识符,需要符合标识符的命名规则。
- 在模块中定义的 全局变量 、函数、类 都是提供给外界直接使用的 工具。
- 模块 就好比是 工具包,要想使用这个工具包中的工具,就需要先 导入 这个模块。
1.2 __name__
属性
__name__
属性可以做到,测试模块的代码 只在测试情况下被运行,而在 被导入时不会被执行!
__name__
是 Python
的一个内置属性,记录着一个 字符串
- 如果 是被其他文件导入的,
__name__
就是 模块名 - 如果 是当前执行的程序
__name__
是__main__
# 导入模块
# 定义全局变量
# 定义类
# 定义函数
# 在代码的最下方
def main():
# ...
pass
# 根据 __name__ 判断是否执行下方代码
if __name__ == "__main__":
main()
2 包
2.1 包的概念
- 包 是一个 包含多个模块 的 特殊目录
- 目录下有一个 特殊的文件
__init__.py
- 包名的 命名方式 和变量名一致,小写字母 +
_
好处
- 使用
import 包名
可以一次性导入 包 中 所有的模块
2.2 __init__.py
要在外界使用 包 中的模块,需要在 __init__.py
中指定 对外界提供的模块列表。
# 从 当前目录 导入 模块列表
from . import send_message
from . import receive_message
3 发布模块
如果希望自己开发的模块,分享 给其他人,可以按照以下步骤操作:
3.1 制作发布压缩包步骤
1) 创建 setup.py
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
注意:要制作哪个版本的模块,就使用哪个版本的解释器执行!
3.2 安装模块
$ tar -zxvf hm_message-1.0.tar.gz
$ sudo python3 setup.py install
卸载模块
直接从安装目录下,把安装模块的 目录 删除就可以。
$ cd /usr/local/lib/python3.5/dist-packages/
$ sudo rm -r hm_message*