从Python教程-模块
- 模块 :
模块是包含Python定义和语句的文件。文件名是带有后缀的模块名称
.py。
- 包 :
包是通过使用“点分模块名称”来构造Python模块名称空间的一种方式。
如果您阅读该文档的
import声明,则会提供更多详细信息,例如:
Python只有一种类型的 模块对象
,所有模块都是这种类型的,而不管该模块是用Python,C还是其他方式实现的。为了帮助组织模块并提供命名层次结构,Python提供了包的概念。您可以将包视为文件系统上的目录,而将模块视为目录中的文件,但是不要从字面上看这样的类比,因为包和模块不需要源自文件系统。出于本文档的目的,我们将使用目录和文件的这种便利类比。像文件系统目录一样,程序包是按层次结构组织的,并且程序包本身可能包含子程序包以及常规模块。
重要的是要记住, 所有软件包都是模块,但并非所有模块都是软件包。 换句话说,包只是一种特殊的模块。具体来说,任何包含
__path__属性的模块都
被视为包。
因此,该术语
module指的是一个特定的实体:这是一个类,其实例是
module您在python程序中使用的对象。类似地,它也用于引用文件系统中创建这些实例的文件。
术语 脚本 用于指要执行目标的模块。它与“程序”或“应用程序”具有相同的含义,但 通常
用于描述简单的小型程序(即,一个文件最多包含几百行)。编写脚本需要几分钟或几个小时。
术语 库 只是一堆代码的通用术语,其目的是为可被许多应用程序使用。它提供了一些可以由特定应用程序使用的通用功能。
当一个模块/包/其他东西被“发布”时,人们通常将其称为库。库通常包含一个程序包或多个相关程序包,但它甚至可以是单个模块。
库通常不提供任何特定功能,即您不能“运行库”。
根据上下文,API可以具有不同的含义。例如:
- 它可以定义一个协议,例如DB API或缓冲协议。
- 它可以定义如何与应用程序进行交互(例如
Python/C API
) - 当与库/包相关时,它只是该库提供的用于其功能(函数/类/常量等的集合)的接口。
在任何情况下,API 都不 是python代码。这是一个或多或少正式的描述。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)