python库、包及模块的关系
1、模块
模块是一种以.py为后缀的python文件,可以理解为普通编写好的python文件,要作为库文件使用,必须包含函数;模块名为该.py文件的名称。模块的名称作为一个全局变量__name__的取值,可以被其他模块获取或导入。
模块的导入通过import来实现,导入模块的方式如下:import 特定模块名称
python模块是:
自我包含并且有组织的代码片段为模块。
表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。
#python环境下查看安装的所有模块
>>>help("modules")
2、包
是在模块之上的概念,为了方便管理而将文件进行打包。包目录下第一个文件便是 init.py,然后是一些模块文件和子目录,假如子目录中也有 init.py,那么它就是这个包的子包了。包文件有一个很好的应用场景是:
A开发者编写了一个实现x功能的模块,命名为perfect;
B开发展编写了一个实现y功能的模块,命名为perfect;
C用户想使用y功能的模块,但是因命名相同,程序无法区分两个文件。为解决该问题,可以将同样名称的两个文件放置在不同包名的包中,通过包名和文件名结合使用来确定特定的模块。
包中特定模块的引用方式为:import 包名称.模块名称
python包是:
包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。
3、库
Python中的库是借用其他编程语言的概念,没有特别具体的定义,Python库着重强调其功能性。在Python中,具有某些功能的模块和包都可以被称作库。模块有诸多函数组成,包由诸多模块机构化组成,库中也可以包含包、模块和函数。
所以:python中真正使用的是包和模块,库是抽象意义上的统称。
python库是:
参考其它编程语言的说法,就是指python中的完成一定功能的代码集合,供用户使用的代码组合。在python中是包和模块的形式。
库:具有相关功能模块(包)的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。
#查看安装的所有第三方库及版本号
(odc) [root@clu00 testpy]# pip list
#查看某个库的详细信息
(odc) [root@clu00 testpy]# pip show odc-stac
#查看所有第三方库的帮助文档
(base) [root@clu00 ~]# python -m pydoc -p 0
Server ready at http://localhost:45998/
Server commands: [b]rowser, [q]uit