51学通信论坛2017新版
标题:
python中的模块、库、包有什么区别?
[打印本页]
作者:
admin
时间:
2017-9-27 22:48
标题:
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文件和其它模块或子包。
库(library)
库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。
python库是参考其它编程语言的说法,就是指python中的完成一定功能的代码集合,供用户使用的代码组合。在python中是包和模块的形式。一般按照API的惯例来设计库。
应用程序接口
(
英语
:
A
pplication
P
rogramming
I
nterface,简称:
API
),又称为
应用编程接口
,就是
软件
系统不同组成部分衔接的约定。由於近年來软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的
接口
设计可以降低系统各部分的相互依赖,提高组成单元的
内聚性
,降低组成单元间的
耦合
程度,从而提高系统的维护性和扩展性。
Django,flask这些是框架。
框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。这个广泛的定义使用的十分流行,尤其在
软件
概念。框架也能用于机械结构。
简单讲,Package是由很多module组成,来实现某种功能,modules由函数和类组成。库是抽象概念,也可以是各种模块组成。
[attach]1619[/attach]
[attach]1620[/attach]
作者:laike9m
链接:
https://www.zhihu.com/question/30082392/answer/48656054
来源:知乎
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/)
Powered by Discuz! X3