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模块提供的对象来存储关于日期和时间的信息:

  • 要生成没有时间成分的日期,请使用datetime.date

  • 对于与特定日期无关的时间,请使用datetime.time

  • 对于同时具有日期和时间的对象,请使用datetime.datetime

  • datetime.timedelta:当我们从另一个datetime中减去一个datetime时,结果是一个timedelta对象,它存储日期或datetime之间的差异。

  • 时区变化表示为相对于UTC的偏移量,通过datetime.timezone对象表示。此类的超类Datetime.tzinfo不打算直接使用。

示例

以下是使用datetime模块获取当前日期和时间的示例:

import datetime datetime_obj = datetime.datetime.now() print(datetime_obj)

输出

以下是上述代码的输出:

2022-08-02 11:54:17.401520

math模块

math模块中可以找到一组数学函数。虽然它们可以应用于浮点数或整数,但它们的主要目的是应用于浮点数,并且它们通常返回浮点数。

如果您需要对复数使用数学运算,请使用cmath模块代替。

math模块中有一些方法和常量。下面列出了一些:

方法

math模块中有一些方法和常量。

  • math.acos()给出数字的反余弦值。

  • 函数acosh()返回数学的反双曲余弦。

  • 使用math.ceil()将数字四舍五入到最接近的整数。

  • math.comb()返回从n个项目中选择k个项目的不同、不重复的方法的数量。

  • math.copysign()生成一个浮点数,该浮点数包含第一个参数的值和第二个参数的符号。

  • math.cosh()返回数字的双曲余弦。

  • 使用math.degrees()将角度从弧度转换为度。

常量

  • math.e返回欧拉的值 (2.7182...)。

  • 使用math.inf返回正浮点无穷大。

  • 返回浮点NaN(非数字)值的是math.nan

  • math.pi产生PI (3.1415...)。

  • math.tau返回tau (6.2831...)

示例

以下是使用math模块获取pi值的示例:

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 - 如果字符串split中的任何位置存在匹配项,则返回一个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编程语言。JSON的主要目标是在客户端和Web服务器之间传输数据。

示例

以下是将JSON转换为Python的示例

import json # JSON a = '{ "Company":"TutorialsPoint", "year":2006, "location":"Hyderabad"}' # parsing x b = json.loads(a) # result print(b["year"])

输出

以下是上述代码的输出

2006

copy模块

一组称为复制模块的操作用于复制各种列表、对象、数组等项目。可以使用它来生成浅拷贝和深拷贝。

创建浅拷贝时,会创建一个新对象,其中包含对原始元素的引用。因此,浅拷贝只复制对嵌套对象的引用,而不是实际创建底层对象的副本。

深拷贝创建新对象,同时添加原始部分中已存在的嵌套对象的副本。

示例

以下是使用浅拷贝创建副本的示例

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]]

注意:还有许多其他模块,如multiprocessingthreading模块、urllib模块、http模块、locale模块、sqllite3模块等。

更新于:2022年11月14日

7K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告