PYTHON 核心开发
1.包和模块的定义
python 中的包和模块,首先是按照代码的功能进行整理整合,想相似功能的代码/大量代 码整理到一起方便统一管理
模块(module):python 中每个 python 文件就是一个模块,每个 python 文件中,封装 类似功能的变量、函数、类型等等,可以被其他的 python 模块通过 import 关键字引入 重复使用!
包(pakcage):包含多个 python 文件/模块的文件夹,并且文件夹中有一个名称为__init__.py 的特殊声明文件,那么这个文件夹就是一个包(模块包),可以将大量功能相 关的 python 模块包含起来统一管理,同样也可以被其他模块通过 import 关键字引入重 复使用封装的模块和代码!
2.包和模块的复用
python 中,将代码封装成包和模块,最主要的目的是通过有效的整理代码,提高代码的复用性能,这里整理好封装起来的包和模块的代码,就可以被其他代码引入使用了,类似生活中的工具被其他人借用一样 .
3.import引入与 from . . import 引入
包和模块的引入,通常有两个关键语法
⚫ import 包/模块
⚫ from 包/模块 import 具体对象
4.from import 相对引入
首先,相对引入本身是相对当前正在操作的文件的路径
同一级路径使用符号:.
上一级路径使用符号:..
5. from import 绝对引入
绝对引入操作方式比较直接,从最外层的包的源头直接开始操作; 如:from pygame import K_A, K_S, K_D, K_W
这种操作方式在第三方模块的操作中是司空见惯的,但是在独立的项目开发中使用较少。
模块
python 中的模块,指代的就是一个 Python 文件
(1) 在一个 python 模块中可以包含的数据有:变量、函数、类型等等,是一个完整的 独立的代码块!
(2) 独立的一个模块中的变量:全局变量、局部变量;能被其他模块引入使用的只有当 前模块中的全局变量,其他模块对于当前模块中全局变量的操作和普通变量一致!
(3) 模块一旦被其他模块引入,就会自动执行模块中的所有代码
(4) 模块中的测试代码可以包含在 if __name__ == “__main__”: 语句块中,这 样不会再其他模块引入时执行这些测试代码
包
1.python 解释器在执行处理代码时,会默认将包含 Python 文件的文件夹处理成默认包 默认包只具备文件路径关联的功能,无其他功能!
2.python 中的标准包,是在文件夹中包含包声明文件__init__.py 的文件夹,主要包含了 一个名称为__init__.py 的模块文件,该文件夹就是一个 Python 模块包
3.在一个 python 的包中,可以创建多个模块,统一由 python 包进行路径管理和导入方式 的管理
包的本地发布
# 引入构建包信息的模块 |
执行当前程序包文件的构建操作命令:按照标准格式组织包中的所有数据文件
python setup.py build |
REMARK: 构建完毕的文件 |
执行命令进行包的打包发布
python setup.py sdist |
REMARK :打包的文件,主要是方便进行网络传输,打包之后会在 dist中创建包含包中所有信息的 tar.gz压缩包文件 ;该文件就可以通过 git等方式提交给对应的开源组织发布你的自定义模块了 |