什么是 Python 模块?它与库有何不同?
初学者可能很难掌握 Python 模块和库的概念。从缩小的内容可以看出,它们每个都是代码的集合。但它们之间存在显着差异。
在本文中,我们将向您展示 Python 模块和库之间的主要区别。
Python 模块和库
现实世界中的程序很复杂。即使是简单的软件也包含数千行代码。正因为如此,以连续流的方式编写代码对于程序员和开发人员来说很难掌握。开发人员利用模块化编程来促进学习并使其在逻辑上分离。它是一种将庞大的编码任务分解为更短、更合乎逻辑和更适应性强的子任务的方法。
Python 的易用性是其主要目标之一。正因为如此,Python 才拥有如此多的模块和库。
Python 中的模块
模块是相关代码的集合,它们一起打包在 Python 程序中。在模块中,程序员可以定义函数、类或变量。在模块中容纳可运行代码也很棒。换句话说,它们是包含有效 Python 定义和语句的 Python 文件。创建这些文件时,会在其后附加后缀 .py。通过将相关代码分组到模块中,代码变得更容易理解和实现。它还以逻辑方式组织代码。
模块分为两种类型。
- 预定义模块(内置模块)
- 用户定义模块
- 外部模块
预定义模块
这些也称为内置模块。Python 拥有大量内置模块。程序员可以通过调用其名称以及关键字"import"在 Python 应用程序中使用这些模块。例如,导入数学。大多数内置 Python 模块都是用 C 编写的,然后与 Python 解释器结合使用,以允许解释器与它们一起工作。
数学、日期时间、统计、随机、操作系统、系统和其他流行的内置 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("传递给函数的值是:", givenValue)
编译器代码
import sampleModule sampleModule.sampleFunction(10)
输出
执行时,上述程序将生成以下输出 -
首先,我们创建了一个名为sampleModule.py的模块。在模块中,我们定义了一个名为sampleFunction的函数,该函数将一个值作为参数并打印它。
之后,我们使用编译器导入先前创建的模块sampleModule。导入模块后,我们可以使用 (.) 运算符访问其所有函数。
因此,我们通过将一些随机值作为参数传递给 sampleModule 来调用 sampleFunction,然后该函数打印参数的值。
外部模块
外部模块必须从外部下载。它们还不像内置模块那样存在。安装它们是一项非常简单的任务,可以使用编译器终端中的"pip install module_name"命令完成。有这么多可用的模块,即使是最好的程序员,熟悉所有模块似乎也会大有帮助。因此,您可以搜索模块以根据需要查找和使用它们。您不必记住所有内容,只需在需要时搜索网络即可。
示例
表情符号模块
表情符号已成为表达和增强简单、无聊文本的一种方式。同样的精华现在也可以在 Python 程序中使用。是的,就是这样!现在您有了在代码中使用表情符号的终极方法。为此,您需要安装表情符号模块。
安装
pip install emoji
以下程序使用 emoji 模块打印表情符号 -
# 从 emoji 模块导入 emojize 函数 from emoji import emojize # 将表情符号的名称作为参数传递给 emojize() 函数 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等。 |
结论
在本文中,我们通过示例了解了模块和库。我们还了解了模块和库之间的区别。