在使用Python的过程中,经常会被模块、库、包、框架这几个概念搞混。今天抽时间对这几个概念做下梳理。
模块(Module)
模块是一种以.py为后缀的文件,在.py文件中定义了一些常量和函数。模块的名称是该.py文件的名称。模块的名称作为一个全局变量__name__的取值可以被其他模块获取或导入。
模块的导入通过ipmort来实现,导入模块的方式如下:
import <moduleName> from <moduleName> import <functionName>
注意:系统自带了sys模块,自己的模块就不可命名为sys.py,否则将无法导入系统自带的sys模块。检查方法是在Python交互环境执行import abc,若成功则说明系统存在abc 模块。
包(Package)
包体现了模块的结构化管理思想,包由模块文件构成,将众多具有相关功能的模块文件结构化组合形成包。从编程开发的角度看,两个开发者A和B由可能把各自开发且功能不同的模块文件取了相同的名字。如果第三个开发者通过名称导入模块,则无法确认是哪个模块被导入了。为此,开发者A和B可以构建一个包,将模块放到包文件夹下,通过“包.模块名”来指定模块。
导入示例:
import <packageName.moduleName>
包是一个类似文件夹的东西,它里面包含了很多.py文件还有一个__init__.py文件,__init__.py这个文件是描述有多少个模块的东西。你可以将包理解为完成一系列的功能的一个东西。
库(Library)
Python中的库是借用其他编程语言的概念,没有特别具体的定义,Python库着重强调其功能性。在Python中,具有某些功能的模块和包都可以被称作库。模块有诸多函数组成,包由诸多模块机构化组成,库中也可以包含包、模块和函数。
参考其它编程语言的说法,就是指Python中的完成一定功能的代码集合,供用户使用的代码组合。
库是指具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。
框架(Framework)
框架是Python库的集合。框架跟库类似,从功能上来说的,框架往往集成了多种库的功能,框架是用来辅助开发某个领域功能的一个包,一般包内还会含有多个子包。框架会方便开发,将某类项目中必须实现的代码直接实现,你只需要去关注你与别项目不同的部分。如爬虫框架scrapy、web开发框架Django和flask、大数据框架pyspark等。
?
|