什么是Python模块?它与库有什么不同

什么是Python模块?它与库有什么不同

对于初学者来说,理解Python模块和库的概念可能很困难。从整体来看,它们都是一组代码的集合。但它们之间存在显著的区别。

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

Python模块和库

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

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

Python中的模块

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

模块分为两种类型。

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

预定义模块

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

数学、日期时间、统计、随机、操作系统、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 。导入模块后,我们可以使用(.)操作符访问其所有函数。

接下来,我们通过传递一个随机值作为参数,调用 sampleModule 中的 sampleFunction 函数,然后该函数打印参数的值。

外部模块

外部模块必须从外部下载。它们尚不存在,就像内置模块一样。安装它们是一项非常简单的任务,可以在编译器终端中使用”pip install module_name”命令来完成。由于有这么多的模块可用,熟悉其中的所有模块对于最好的程序员来说似乎是有帮助的。因此,您可以搜索模块以找到并根据需要使用它们。您不必记住一切,只需要在需要时在网上搜索即可。

示例

表情符号模块

表情符号已成为表达和增强简单无聊文本的一种方式。现在,相同的宝石也可以在Python程序中使用。是的,没错!现在你有了在代码中使用表情符号的终极方式。要做到这一点,您需要安装表情符号模块。

安装

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解释器时,标准库已经包含在其中。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模块?它与库有什么不同

模块和库之间的区别

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

模块
模块是具有.py扩展的一组代码或函数。 库是一组相关的模块或包。
它们被程序员和开发人员使用。 库被社区成员、开发人员和研究人员使用。
使用模块可以更容易地阅读代码。 库不提供易读性的贡献。
模块是功能的逻辑组,程序员可以导入以重用其代码或一组语句。 库使编程语言的用户、开发人员和其他研究人员能够重用逻辑相关代码的集合。
当Python程序员导入模块时,解释器会在各个位置搜索模块的定义或主体。 在我们可以使用库的模块或包之前,必须先将其安装到我们的Python项目中。一般我们使用pip安装命令。
模块通常是用有效的语句或代码写成的Python模块。 尤其是标准库,库通常是用C或Python开发的。
创建模块的基本目标是防止重复,即DRY。 库没有这样的目标。
为了返回一个包含模块中指定函数名的字符串排序列表,我们可以使用Python的内置dir()函数。 没有一个明确的函数返回一个库中的模块数。尽管如此,程序员可以利用help()函数获取一些信息。
受欢迎的内置Python模块包括 os、sys、math、random 等等。 受欢迎的内置Python库包括 Pygame、Pytorch、matplotlib 等等。

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程