什么是Python标准库中最有用的模块
Python 标准库 是一个包含可以被Python程序使用的脚本模块的集合,它避免了频繁重写常用命令并简化了开发过程。通过在脚本开始处”调用/导入”它们,可以使用这些模块。
一个 模块 是一个包含Python代码的文件;例如,’coding.py’文件将是一个名为’coding’的模块。我们使用模块将复杂的程序分为更小、更易管理的部分。模块还允许代码的复用。
在下面的示例中,一个名为’coding’的模块包含了一个我们开发的名为add()的函数。该函数接收两个数字作为输入,并输出它们的和−
def add(b, c):
# Adding two numbers and returning the result
add_result = b + c
return add_result
这篇文章向我们介绍了标准库中最有用的Python模块。
datetime模块
我们可以利用时间日期模块提供的对象来存储关于日期和时间的信息 –
- 要生成没有时间组件的日期,请使用 datetime.date 。
-
如果时间不与特定日期相关,请使用 datetime.time 。
-
对于既有日期又有小时的对象,请使用 datetime.datetime 。
-
datetime.timedelta :当我们从另一个时间日期中减去一个时间日期时,结果是一个timedelta对象,用于存储日期或时间之间的差异。
-
时区更改通过 datetime.timezone 对象表示为与UTC的偏移量。 Datetime.tzinfo ,该类是其子类,不应直接使用。
示例
以下是使用时间日期模块获取当前日期和时间的示例 –
import datetime
datetime_obj = datetime.datetime.now()
print(datetime_obj)
输出
以下是上述代码的输出-
2022-08-02 11:54:17.401520
math模块
数学模块中包含一组数学函数。尽管它们可以应用于浮点数或整数,但它们的主要目的是应用于浮点数,并且它们通常返回浮点数。
如果您需要在复数上执行数学运算,请使用 cmath模块 。
数学模块中有几种技术和常量。以下是其中的一些:
方法
数学模块中有几种技术和常量。
- math.acos() 返回一个数的反余弦值。
-
函数 acosh() 返回数学的反双曲余弦。
-
使用 math.ceil() 将一个数四舍五入到最近的整数。
-
math.comb() 返回从n中选择k个项目的不重复方法数。
-
math.copysign() 产生一个包含第一个参数值和第二个参数符号的浮点数。
-
math.cosh() 返回一个数的双曲余弦。
-
使用 math.degrees() 将角度从弧度转换为度。
常量
-
math.e 返回Euler的值(2.7182…)。
-
使用 math.inf 返回一个正的浮点无穷大。
-
使用 math.nan 返回一个浮点NaN(非数)值。
-
math.pi 返回π(3.1415…)。
-
math.tau 返回tau(6.2831…)
示例
以下是使用数学模块获取π值的示例:
import math
math.pi
输出
以下是上述代码的输出 –
>>> math.pi
3.141592653589793
random模块(伪随机数)
当一组数字在某种程度上看起来是随机的,但实际上不是,我们将其称为伪随机数。虽然伪随机数序列是由可预测的算法生成的,但它们具有足够的真正随机数序列特征,在广泛的应用中是有用的。
为了生成伪随机数和执行其他一些需要随机性的任务,我们可以利用Python的random包。
示例
以下是一个生成给定整数之间的随机整数的示例
import random
random.randint(401, 1262)
输出
以下是上述代码的输出 –
>>> random.randint(401, 1262)
493
>>> random.randint(401, 1262)
1043
>>> random.randint(401, 1262)
1037
re模块
在编程语言中,正则表达式(RE)是一种用于提供搜索模式的唯一文本字符串。对于从文本中提取信息,如代码,文件,日志,电子表格甚至文档,它非常有帮助。
re模块提供了一组函数,让我们在字符串中查找匹配项,如下所示:
- findall :提供所有匹配结果的列表。
-
search :如果字符串中的任何位置有匹配项,则返回一个Match对象。
-
split :提供一个包含在每个匹配子字符串处切割字符串的列表。
-
sub :用一个或多个匹配项替换字符串。
元字符
具有特定含义的字符称为元字符。下面列出了其中的一些:
\
:用于指示特定序列或转义特殊字符。-
.
:除了换行符外的任何字符。 -
^
:以…开始。 -
$
:以…结束。
特殊序列
特殊序列具有特定的含义,由\和以下列表中的其中一个字符组成:
- \A :如果提供的字符出现在字符串的开头,函数返回一个匹配项。
-
\d :如果字符串包含数字(0-9中的数字),则返回一个匹配项。
-
\S :当字符串中不包含空格字符时,返回一个匹配项。
-
\Z :如果提供的字符位于字符串的末尾,返回一个匹配项。
示例
以下是一个打印所有匹配项的列表的示例:
import re
line = "Python coding using re module on"
l = re.findall("on", line)
print(l)
输出
以下是上述代码的输出结果 –
['on', 'on']
os模块
可以自动执行许多操作系统功能。Python的os模块具有添加和删除文件夹、检索其内容、更改目录、定位当前目录等函数。
示例
下面是一个获取当前工作目录的示例:
import os
os.getcwd()
输出
下面是上述代码的输出结果
>>> os.getcwd()
'C:\Users\Lenovo\Desktop'
io模块
我们可以借助Python的I/O模块来控制与文件相关的输入和输出活动。使用IO模块的好处是,通过可用的类和函数,我们可以增强能力以使得能够写入Unicode数据。
示例
以下是一个以二进制格式打开文件进行读取的示例 –
import io
f = io.open("information.txt", "rb")
print(f.read())
输出
以下是以上代码的输出结果 –
b"This tutorial looks at various Python comparison techniques for two files.\r\nWe'll go over how to perform this typical work by using the available modules\r\nreading two files, and comparing them line by line."
json模块
JSON(JavaScript对象表示法)是一种流行的在线数据交换格式。对于在客户端和服务器之间组织数据来说,JSON是最好的格式。编程语言JavaScript与该语言的语法相似。在客户端和Web服务器之间的数据传输是JSON的主要目标。
示例
以下是从json转换为Python的示例。
import json
# JSON
a = '{ "Company":"TutorialsPoint", "year":2006, "location":"Hyderabad"}'
# parsing x
b = json.loads(a)
# result
print(b["year"])
输出
以下是上述代码的输出
2006
拷贝模块
一个被称为拷贝模块的操作群体被用于复制各种列表、对象、数组等项目。使用它可以产生浅拷贝和深拷贝。
进行浅拷贝时,会创建一个新对象,该对象包含对原始元素的引用。因此,浅拷贝只复制对嵌套对象的引用,而不是实际上创建底层对象的副本。
深拷贝会创建新对象,并在旧版本基础上添加已存在的嵌套对象的副本。
示例
以下是使用浅拷贝创建副本的示例。
import copy
x = [[5, 6, 7], [13, 14, 15], [56, 57, 58]]
y = copy.copy(x)
print("Old_list:", x)
print("New_list:", y)
输出
以下是上述代码的输出:
Old_list: [[5, 6, 7], [13, 14, 15], [56, 57, 58]]
New_list: [[5, 6, 7], [13, 14, 15], [56, 57, 58]]
注意:还有其他各种模块,例如 multiprocessing 和 threading ** 模块, urllib 模块, http 模块, locale 模块, sqllite3 模块等等。