什么是 Python 模块?它与库有什么区别?


对于初学者来说,理解 Python 模块和库的概念可能比较困难。从放大内容可以看出,它们都是代码的集合。但它们之间存在显著的区别。

在本文中,我们将向您展示 Python 模块和库之间的主要区别。

Python 模块和库

现实世界中的程序非常复杂。即使是简单的软件也包含数千行代码。因此,以连续流的方式编写代码对于程序员和开发人员来说难以理解。开发人员利用模块化编程来促进学习并使其逻辑上分离。这是一种将大型编码任务分解成更短、更逻辑、更灵活的子任务的方法。

Python 易用性是其主要目标之一。因此,Python 拥有如此多的模块和库。

Python 中的模块

模块是将相关代码打包在一起的 Python 程序的集合。在模块中,程序员可以定义函数、类或变量。在模块中容纳可运行的代码也非常棒。换句话说,它们是包含有效 Python 定义和语句的 Python 文件。创建这些文件时,会附加后缀 .py。通过将相关代码分组到模块中,代码变得更容易理解和实现。它还以逻辑方式组织代码。

模块分为两种类型。

  • 预定义模块(内置模块)
  • 用户定义模块
  • 外部模块

预定义模块

这些也称为内置模块。Python 拥有大量内置模块。程序员可以通过在 Python 应用程序中调用其名称以及关键字“import”来使用这些模块。例如,import math。大多数内置 Python 模块是用 C 编写的,然后与 Python 解释器结合使用,以允许解释器与它们一起工作。

Math、datetime、statistics、random、os、sys 等都是常用的内置 Python 模块。

示例

# importing sqrt, factorial functions from math module from math import sqrt, factorial # printing the square root of 16 using sqrt() function print('The square root of 16 = ',sqrt(16)) # printing the factorial of 5 using factorial() function print('The factorial of 5 = ',factorial(5))

输出

执行后,上述程序将生成以下输出:

('The square root of 16 = ', 4.0)
('The factorial of 5 = ', 120)

用户定义模块

Python 为其程序员提供的另一个优势是能够创建用户定义的模块。Python 使程序员能够自定义自己的操作并对其进行控制。程序员可以在用户定义的模块中设计自己的函数、变量和类的集合。

导入用户定义模块的技术与导入预定义模块的技术相同。

示例

sampleModule.py

def sampleFunction(givenValue):
   print("The values passed to the function is:", givenValue)

编译器代码

import sampleModule
sampleModule.sampleFunction(10)

输出

执行后,上述程序将生成以下输出:

首先,我们创建了一个名为sampleModule.py的模块。在模块中,我们定义了一个名为sampleFunction的函数,它以一个值作为参数并打印它。

之后,我们使用编译器导入了之前创建的模块sampleModule。导入模块后,我们可以使用 (.) 运算符访问其所有函数。

因此,我们通过传递一些随机值作为参数来调用sampleModulesampleFunction,然后该函数打印参数的值。

外部模块

外部模块必须从外部下载。它们不像内置模块那样已经存在。安装它们非常简单,可以在编译器终端中使用“pip install module_name”命令完成。由于有如此多的模块可用,即使对于最好的程序员来说,熟悉所有模块似乎也是很有帮助的。因此,您可以搜索模块以查找和使用它们,以满足您的需求。您不必记住所有内容,只需在需要时搜索网络即可。

示例

Emoji 模块

表情符号已成为表达和增强简单、乏味的文本的一种方式。现在,同样的宝石也可以用于 Python 程序中。是的,就是这样!现在您拥有在代码中使用表情符号的终极方法。为此,您需要安装 Emoji 模块。

安装

pip install emoji

以下程序使用 emoji 模块打印表情符号:

# Importing emojize function from emoji module
from emoji import emojize

# Passing name of emoji as an argument to the emojize() function
print(emojize(":thumbs_up:"))

输出

执行后,上述程序将生成以下输出:

库是一个总称,它包含一组可重用的 Python 代码/指令。

Python 库通常是一组类似的模块,它们在一个名称下组合在一起。开发人员通常使用它来与社区共享可重用的代码。这消除了从头开始编写 Python 代码的需要。

开发人员和社区研究人员可以在同一领域构建自己的一组有用的函数。当程序员和开发人员在其机器上安装 Python 解释器时,会包含标准库。Python 库包括 matplotlib、Pygame、Pytorch、Requests、Beautifulsoup 等。

示例

# impoting matplotlib library with an alias name import matplotlib.pyplot as matplot # input first list inputList_1 = [1, 4, 6, 8] # input first list inputList_2 = [2, 6, 3, 9] # plotting the inputList_1, inputList_2 values by taking inputList_1 on x-axis # and inputList_2 on y-axis. matplot.plot(inputList_1, inputList_2) # giving the label/name for x-axis matplot.xlabel('X-axis') # giving the label/name for y-axis matplot.ylabel('Y-axis') # giving the title of the plot matplot.title('Plot for Data Visualization') # displaying the graph matplot.show()

输出

执行后,上述程序将生成以下输出:

模块和库之间的区别

下表显示了 Python 中模块和库之间的一些主要区别:

模块

模块是一组具有 .py 扩展名的代码或函数。

库是相关模块或包的集合。

它们被程序员和开发人员使用。

库被社区成员、开发人员和研究人员使用。

使用模块使代码更易于阅读。

库对易读性没有贡献。

模块是程序员可以导入以重用其代码或语句集的功能的逻辑组。

库使用户能够重用逻辑相关的代码集合。

当 Python 程序员导入模块时,解释器会在各个位置搜索模块的定义或主体。

在我们可以使用库的模块或包之前,我们必须先将它们安装到我们的 Python 项目中。我们通常使用 pip install 命令。

模块通常是用 Python 编写的,包含有效的语句或代码。

库,尤其是标准库,通常是用 C 或 Python 开发的。

创建模块的基本目标是防止 DRY,即“不要重复自己”。

库没有这样的目标。

要返回一个包含模块中指定的函数名称的字符串的已排序列表,我们可以使用 Python 的内置 dir() 函数。

没有显式函数可以返回库中模块的数量。即使这样,程序员也可以使用 help() 函数获取一些信息。

常用的内置 Python 模块包括os、sys、math、random等。

常用的内置 Python 库包括Pygame、Pytorch、matplotlib等。

结论

在本文中,我们通过示例了解了模块和库。我们还了解了模块和库之间的区别。

更新于:2022年9月22日

10K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告