我将尝试在不使用初学者最早使用的术语的情况下回答这个问题,并解释他们为什么或如何使用不同的术语,以及这些术语的最“官方”和/或最容易理解或统一的用法。
这可能会令人困惑,我把自己的想法弄得很费力,所以不要想太多。无论如何,上下文很重要。
图书馆- 大多数情况下是指通用图书馆或以类似格式和用途创建的其他馆藏。通用库是“标准”、流行和广泛使用的模块的总和,现在可以将其视为单个文件工具,或者使事情成为可能或更快的捷径。通用库是大多数人在安装 Python 时启用的选项。因为它有这个名称“Python 通用库”,所以它经常以类似的结构和想法使用。Witch 只是拥有一堆模块,甚至可能是组合在一起的包,通常在一个列表中。该列表通常用于下载它们。通常它只是相关的文件,具有相似的兴趣。这是描述它的最简单的方式。
模块-模块指的是一个文件。该文件“在其中”有脚本,文件名是模块的名称,Python 文件以 .py 结尾。文件包含的所有代码都是一起运行的代码,通过使用函数、字符串等来实现。您可能最常看到的主要模块很受欢迎,因为它们是可以从其他文件/模块获取信息的特殊模块。这很令人困惑,因为文件和模块的名称是相同的,只需删除 .py。实际上,它只是您可以用作某人编写的快捷方式的代码,以使某些事情变得更容易或成为可能。
包- 这是一个通常有时使用的术语,尽管上下文会有所不同。根据我的经验,最常见的用途是组合在一起的多个模块(或文件)。为什么将它们组合在一起可能有几个原因,那就是上下文很重要。这些是我注意到术语包的方式用过的。它们是一组已下载、创建和/或存储的模块。这可能都是真的,或者只有 1 个,但实际上它只是一个引用其他文件的文件,需要采用正确的结构或格式,并且整个总和是包本身,已安装或可能已包含在python通用库。一个包可以包含模块(.py 文件),因为它们相互依赖,有时可能无法正常工作,或者根本无法正常工作。包的每个部分(模块/文件)总是有一个共同的目标,所有部分的总和就是包本身。
Python 包中最常见的是模块,因为包名是用于连接所有部分的模块的名称。所以你可以输入一个包,因为它是一个模块,也允许它调用其他模块,这些模块不是包,因为它们只执行某个功能,或者任务不涉及其他文件。包有一个目标,每个模块协同工作以实现该最终目标。
大多数混淆来自简单的文件文件名或文件前缀,用作模块名称,然后再次用作包名称。
记住可以安装模块和包。库通常是列出或格式化一组模块和包的通用术语。很像 Python 的通用库。层次结构是行不通的,API 不属于真正的,如果你这样做了,它们可能在任何地方,涉及到脚本、模块和包的每个产品,worl library 是一个如此通用的词,很容易应用于许多事情,也使 API 能够坐在上面或下面。一些模块可以基于其他代码,这是唯一一次我认为它与纯 Python 相关的讨论有关。