admin 发表于 2017-9-27 22:48:03

python中的模块、库、包有什么区别?

说中文是没法让人理解的,我猜你指的是 module、lib 和 package
module:一个 .py 文件就是个 module
lib:抽象概念,和另外两个不是一类,只要你喜欢,什么都是 lib,就算只有个 hello world
package:就是个带 __init__.py 的文件夹,并不在乎里面有什么,不过一般来讲会包含一些 packages/modules
scrapy、flask、Django、numpy、scipy、NLTK、jieba 在你的语境下,一般都被认为是 lib,因为关注点不是他们的代码是怎么组织的。

简单讲,Package是由很多module组成,来实现某种功能,modules由函数和类组成。库是抽象概念,也可以是各种模块组成。

python模块是:
         自我包含并且有组织的代码片段为模块。
         表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。
python包是:
         包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
       通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。
static/image/hrline/line4.png

库(library)库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。
python库是参考其它编程语言的说法,就是指python中的完成一定功能的代码集合,供用户使用的代码组合。在python中是包和模块的形式。一般按照API的惯例来设计库。
应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由於近年來软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。

Django,flask这些是框架。
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。

简单讲,Package是由很多module组成,来实现某种功能,modules由函数和类组成。库是抽象概念,也可以是各种模块组成。


作者:laike9m
链接:https://www.zhihu.com/question/30082392/answer/48656054
来源:知乎





页: [1]
查看完整版本: python中的模块、库、包有什么区别?