--- 包(package)和模块( modules )
What?Python中的包和模块是什么?
A.包(package):
在python中,一个文件夹就可以看做是一个普通包,包可以含有多个python文件。
标准包,就是在普通包的基础上一定要存在一个包声明文件:__init__.py 代表包本身
B.模块(modules):
在python中,一个python文件就可看做一个模块,文件名称就是模块名称,文件中可包含变量,函数,方法,类型等各种代码。
2.Why?为什么会出现包和模块?
A.代码的重用
[注:一个功能写成一个模块, 以便当再次需要相同功能的时候,可以直接使用,而不用重新开发。]
B.降低耦合度
[注:耦合性(英语:Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。]
C.不同的包/模块,可以通过import方式引入使用,提高了代码功能的扩展性和可维护性。
3.How?如何使用包和模块及包和模块的引入
A.两种引入方式:import(绝对引入)|from....impor(相对引入)
a.模块的引入
i.模块的绝对引入import:
import 模块名
ii.模块的相对引入from....import
from . import 模块名
a1:使用另一种模块中的变量(没有全局/局部不变量的概念)
b.包的引入
i.包的绝对引入
import 包名.模块名
i+1:直接引入包中的模块
pycharm开发工具:会自动搜索site-packages/PYTHONPATH/sys.path路径下查询对应的模块
python解释器(CPython):自动搜索[三个标准路径+当前路径]]
ii.包的相对引入
from .包名 import 模块名
b1:
1.相对于当前正在开发的内部项目,使用相对路径引入包进行操作 from .modules import tools 2.对于要发布到网络上的工具模块/在公司多个项目中使用的公共模块,使用绝对路径引入包 的方式进行操作 from modules import tools
自定义包的标准化构建: python setup.py build
自定义包的打包: python setup.py sdist
自定义拜的网络发布: twine uplaod sdist/*.gz
6.补充
项目开发规范:
公司项目组规范
行业规范
标注规范
7.第三方模块(自定义python程序包)的离线安装和在线安装
离线安装包:下载tar.gz压缩包,解压之后执行 python setup.py install安装
在线安装:pip install<module_name>
8具体打包信息
# 引入构建包信息的模块
setup(
name=“xxxxxxxx”, # 发布的包文件名称
version=”1.00.0”, # 发布的包的版本序号
description=” 我的测试包 ”, # 发布包的描述信息
author=”xxxx”, # 发布包的作者信息
author_email=”xxxx@163.com”, # 作者联系邮箱信息
py_modules=[‘__init__.py’,’..’,..]# 发布的包中的模块文件 列表
)
共同学习,写下你的评论
评论加载中...
作者其他优质文章