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_messagefrom . import receive_message
3 发布模块
如果希望自己开发的模块,分享给其他人,可以按照以下步骤操作:
3.1 制作发布压缩包步骤
1) 创建 setup.py
setup.py
的文件from distutils.core import setupsetup(name="hm_message", # 包名version="1.0", # 版本description="itheima's 发送和接收消息模块", # 描述信息long_description="完整的发送和接收消息模块", # 完整描述信息author="itheima", # 作者author_email="itheima@", # 作者邮箱url="", # 主页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*