python的流行主要依赖于其有众多功能强大的库(Library),Python自带的标准库(Standard Library)可以满足大多数的基本需求,除了函数库以外,模块(Module)和包(Package)也常会被提及。其中库、模块和包常常会分不清谁是谁今天就一起来学习下。
模块:
模块是一种以.py为后缀的文件,在.py文件中定义了一些常量和函数。模块的名称是该.py文件的名称。模块的名称作为一个全局变量__name__的取值可以被其他模块获取或导入。模块的导入通过ipmort来实现,导入模块的方式如下:
import 特定模块名称 包:
包体现了模块的结构化管理思想,包由模块文件构成,将众多具有相关功能的模块文件结构化组合形成包。从编程开发的角度看,两个开发者A和B由可能把各自开发且功能不同的模块文件取了相同的名字。如果第三个开发者通过名称导入模块,则无法确认是哪个模块被导入了。为此,开发这A和B可以构建一个包,将模块放到包文件夹下,通过“包.模块名”来指定模块。示例:
import 包名称.模块名称
一个包文件一半由__init__.py和其他诸多.py文件构成。该__init__.py内容可以为空,有额可以写入一些包执行时的初始化代码。init.py是包的标志性文件,Python通过一个文件夹下是否有__init__.py文件,来识别促文件夹是否为包文件。
库:
Python中的库是借用其他编程语言的概念,没有特别具体的定义,Python库着重强调其功能性。在Python中,具有某些功能的模块和包都可以被称作库。模块有诸多函数组成,包由诸多模块机构化组成,库中也可以包含包、模块和函数。