作用:
- 可以使我们有逻辑的去组织我们的python代码
- 以库的形式去封装功能,非常方便的去让调用者去使用
- 可以定义函数、类、变量,也能包含可执行的代码
注:不同的模块可以定义相同的变量名,但是每个模块中的变量名作用域只是在本模块中
1.模块的制作
•(1)Python文件都可以作为一个模块,模块的名字就是文件的名字。 比如创建一个test.py文件,文件中创建一个add函数。test.py就是一个模块。
•(2)调用test.py模块
•(3)模块测试 一般写完模块之后都会进行测试,下面来看下这个例子 写好模块之后,在模块中写了一段测试的代码。
•在main.py 导入test模块,执行时模块中的测试代码也执行了。
•(4)为了避免这种情况使用到一个__name__的变量。
•在main.py中导入执行
•知道__name__变量的原理之后,就可以很好的处理测试代码了。 将测试的代码放到 if __name__ = '__main__':
•(5)__all__ 的作用,如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,会被from xxx import * 时导入
•有all变量import方式导入,可以无异常,可以正常使用。
•from test import * 方式导入
2.模块的发布
•平时使用第三方模块是其他开发者发布出来,需要安装后调用。发布一个模块的步骤:
•(1)将写好的包放到一个test/目录下
•(2)在test/目录下创建一个文件setup.py文件
•文件里写入下面代码
from distutils.core import setup # name 模块名称 # version 版本号 # description 描述 # author 作者 # py_modules 要发布的内容 setup(name="my_module", version="1.0", description="my module", author="lilei", py_modules=['test1.A', 'test1.B', 'test2.C', 'test2.D'])
•(3)创建模块
通过终端进入当前文件目录
•python setup.py build
•(4)生成压缩包
•python setup.py sdist
•(5)看下test目录下的结构
3.模块的安装
•(1)将上一节生成的压缩包复制到桌面解压
•tar -zxvf qzk-1.0.tar.gz
•解压后在桌面会生成一个文件夹qzk-1.0
•(2)进入qzk-1.0文件夹
•cd qzk-1.0-1.0
•(3)执行命令安装 python setup.py install
•(4)查看是否安装成功
在python的安装目录下的site-packages目录下
或者
为了方便我们在当前目录安装压缩包
•pip install qzk-1.0.tar.gz
•模块引入,可以导入说明安装成功