4

Python模块、包、库、框架

 2 years ago
source link: https://www.biaodianfu.com/python-module-package-library-framework.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在使用Python的过程中,经常会被模块、库、包、框架这几个概念搞混。今天抽时间对这几个概念做下梳理。

模块(Module)

模块是一种以.py为后缀的文件,在.py文件中定义了一些常量和函数。模块的名称是该.py文件的名称。模块的名称作为一个全局变量__name__的取值可以被其他模块获取或导入。

模块的导入通过ipmort来实现,导入模块的方式如下:

import <moduleName>
from <moduleName> import <functionName>
import <moduleName>
from <moduleName> import <functionName>

注意:系统自带了sys模块,自己的模块就不可命名为sys.py,否则将无法导入系统自带的sys模块。检查方法是在Python交互环境执行import abc,若成功则说明系统存在abc 模块。

包(Package)

包体现了模块的结构化管理思想,包由模块文件构成,将众多具有相关功能的模块文件结构化组合形成包。从编程开发的角度看,两个开发者A和B由可能把各自开发且功能不同的模块文件取了相同的名字。如果第三个开发者通过名称导入模块,则无法确认是哪个模块被导入了。为此,开发者A和B可以构建一个包,将模块放到包文件夹下,通过“包.模块名”来指定模块。

导入示例:

import <packageName.moduleName>
import <packageName.moduleName>

包是一个类似文件夹的东西,它里面包含了很多.py文件还有一个__init__.py文件,__init__.py这个文件是描述有多少个模块的东西。你可以将包理解为完成一系列的功能的一个东西。

库(Library)

Python中的库是借用其他编程语言的概念,没有特别具体的定义,Python库着重强调其功能性。在Python中,具有某些功能的模块和包都可以被称作库。模块有诸多函数组成,包由诸多模块机构化组成,库中也可以包含包、模块和函数。

参考其它编程语言的说法,就是指Python中的完成一定功能的代码集合,供用户使用的代码组合。

库是指具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

  • 标准库:Python里那些自带的模块
  • 第三方库:就是由其他的第三方机构,发布的具有特定功能的模块。
  • 自定义模块:用户自己可以自行编写模块,然后使用。

框架(Framework)

框架是Python库的集合。框架跟库类似,从功能上来说的,框架往往集成了多种库的功能,框架是用来辅助开发某个领域功能的一个包,一般包内还会含有多个子包。框架会方便开发,将某类项目中必须实现的代码直接实现,你只需要去关注你与别项目不同的部分。如爬虫框架scrapy、web开发框架Django和flask、大数据框架pyspark等。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK