Python 中的包与模块

Siddharth Swami 2021年10月2日
Python 中的包与模块

我们有不同的 Python 包可用。每个包都有其关注的领域。在使用 Python 时,我们使用属于不同模块或包的不同功能。我们交替使用术语模块和包。

我们将在本文中了解这两个术语之间的区别。

模块是由各种函数和全局变量组成的脚本文件。该文件以 .py 扩展名保存。这些文件是可执行的,可以存储不同的功能和对象。为了组织模块,我们在 Python 中有包的概念。

另一方面,包是一个由模块集合组成的简单目录。一个包包含一个额外的 __init__.py 文件,以便解释器将它解释为一个包。我们可以将其解释为定义单个应用程序环境的分层文件目录结构。一个包可以由更小的子包组成。

人们还应该注意两者之间的相似之处。要使用它们,我们使用 import 语句导入它们。无论我们是导入模块还是包,这都会创建一个 module 类型的对象。但是,在导入包时,只有类、函数、变量是可见的,这些在 __init__.py 文件中是直接可见的。

让我们通过一个例子来理解这一点。

import xml
xml.etree

上面的代码返回一个 AttributeError。为了克服这个问题,我们可以参考下面给出的代码。

import xml.etree
xml.etree

上面的代码不会给出任何错误。希望现在,包和模块之间的区别已经很清楚了。

相关文章 - Python Module

相关文章 - Python Package