python标准库有哪些模块,简单总结下。

python标准库有哪些模块,简单总结下。

Python 标准库非常庞大且功能强大,它被誉为“自带电池”,意味着无需安装任何第三方包就能完成大量任务。要全部列举是不现实的,但我可以按照功能分类,介绍一些最重要和最常用的模块及其功能。

核心分类与常用模块

1. 内置函数和内置常量 (builtins)

功能:这是最核心的模块,无需使用 import 导入即可在任何地方使用。它包含了语言最基本的功能。

常见成员:

函数:print(), len(), input(), type(), isinstance(), range(), list(), dict(), str(), int(), open() 等。

常量:True, False, None。

2. 系统与操作系统交互

os:提供了大量与操作系统交互的函数。

功能:文件和目录操作(重命名、删除、创建)、获取系统信息、管理进程环境变量、执行系统命令等。

示例:os.listdir(), os.path.join(), os.getcwd(), os.environ。

sys:提供对 Python 解释器本身相关的变量和函数的访问。

功能:访问命令行参数 (sys.argv)、退出程序 (sys.exit())、查看已导入的模块 (sys.modules)、标准输入/输出流 (sys.stdin, sys.stdout, sys.stderr)。

pathlib (Python 3.4+):面向对象的文件系统路径操作,比 os.path 更现代和易用。

功能:路径构造、检查路径属性、文件操作。

示例:Path(‘file.txt’).exists(), Path(‘dir’) / ‘subdir’ / ‘file.txt’。

3. 数据类型与算法

collections:提供了许多有用的容器数据类型,作为内置类型(list, dict, set, tuple)的替代和增强。

namedtuple: 创建有名字段的元组子类,可通过属性访问。

deque: 双端队列,从两端添加或弹出元素效率很高,适合实现队列和栈。

Counter: 计数器,用于统计可哈希对象的出现次数。

defaultdict: 字典子类,在键不存在时提供默认值。

OrderedDict: 字典子类,记录键的插入顺序(Python 3.7+ 普通 dict 也保序,但此类提供额外方法)。

typing (Python 3.5+):支持类型提示,使代码更清晰,便于静态类型检查器和IDE进行分析。

功能:提供 List, Dict, Tuple, Union, Optional 等类型标注工具。

heapq:堆队列算法(优先队列)的实现。

bisect:数组二分查找算法,用于维护已排序的列表而不必每次排序。

array:提供了一种紧凑的数组类型,用于存储基本类型(如整数、浮点数),比列表更高效。

4. 日期与时间

datetime:用于操作日期和时间的类。

功能:日期 (date)、时间 (time)、日期时间 (datetime)、时间间隔 (timedelta)。

time:提供与时间相关的各种函数,通常更侧重于时间戳和睡眠。

功能:获取当前时间戳 (time.time())、线程睡眠 (time.sleep())、转换时间格式。

5. 数学与数字

math:提供了标准的数学函数和常量。

功能:三角函数、对数、指数、平方根、向上/向下取整、π (math.pi)、e (math.e)。

random:生成各种分布的伪随机数。

功能:生成随机整数/浮点数 (random.randint(), random.random)、随机序列洗牌 (random.shuffle())、随机抽样 (random.sample())。

statistics (Python 3.4+):计算基本的统计量。

功能:均值 (mean)、中位数 (median)、方差 (variance)、标准差 (stdev)。

6. 文件与数据持久化

json:用于编码和解码 JSON 数据。

功能:将 Python 对象序列化为 JSON 字符串 (json.dumps()),将 JSON 字符串反序列化为 Python 对象 (json.loads()),与文件交互 (json.dump(), json.load())。

pickle:Python 专用的序列化模块,可将任意 Python 对象转换为字节流。

功能:用于 Python 程序间的数据交换和保存程序状态。注意:不要反序列化不受信任的来源。

sqlite3:提供了对 SQLite 嵌入式数据库的接口。

csv:用于读写 CSV (逗号分隔值) 文件。

7. 数据压缩与归档

gzip, zipfile, tarfile:分别用于处理 .gz, .zip, .tar.* 格式的压缩和解压缩。

8. 并发与并行

threading:提供线程相关的操作,用于实现多线程。

注意:由于 GIL 的存在,多线程不适合 CPU 密集型任务,但适合 I/O 密集型任务。

multiprocessing:使用子进程而非线程来实现并行,可以绕过 GIL,充分利用多核 CPU。

concurrent.futures (Python 3.2+):提供了线程池和进程池的高级接口,简化了异步执行任务。

9. 网络与互联网

socket:提供了底层的网络接口(BSD socket API),是大多数网络应用的基础。

urllib.request:用于打开和读取 URL(主要是 HTTP)。

http.server:提供了构建基本 HTTP 服务器的类(我们上一个示例就用到了它)。

email:用于解析和生成电子邮件。

smtplib:用于发送电子邮件。

10. 开发与调试工具

logging:提供了灵活的事件日志系统,是 print 语句的强大替代品。

功能:支持不同的日志级别(DEBUG, INFO, WARNING, ERROR, CRITICAL)、输出到不同目标(文件、控制台)、自定义格式。

unittest:Python 自带的单元测试框架。

doctest:通过搜索看起来像交互式 Python 会话的文本来测试代码。

pdb:Python 自带的交互式源代码调试器。

timeit:测量小代码片的执行时间。

venv (Python 3.3+):用于创建轻量级的“虚拟环境”,管理项目的依赖包。

11. 其他重要模块

re:正则表达式操作,提供强大的字符串匹配和替换功能。

itertools:提供了用于操作迭代对象的函数,用于创建高效的自定义迭代器。

functools:用于高阶函数(操作或返回其他函数的函数)。

functools.lru_cache: 一个装饰器,为函数提供缓存功能(记忆化)。

enum (Python 3.4+):用于创建枚举类型。

argparse:用于编写用户友好的命令行接口,解析命令行参数。

configparser:用于读写 Windows 风格的 .ini 配置文件。

总结

类别核心模块主要功能系统交互os, sys, pathlib文件操作、获取系统信息、命令行参数数据结构collections, typing增强的容器类型、类型提示日期时间datetime, time日期时间处理、睡眠数学计算math, random, statistics数学函数、随机数、统计计算数据持久化json, pickle, sqlite3JSON/对象序列化、数据库操作并发编程threading, multiprocessing多线程、多进程网络通信socket, urllib底层网络、HTTP 请求开发工具logging, unittest, pdb日志记录、单元测试、调试文本处理re正则表达式匹配

要探索完整的标准库列表,最权威的来源是 Python 官方文档: https://docs.python.org/3/library/index.html

相关文章

苏宁易购实名认证麻烦吗 苏宁易购实名认证 365bet盘口

苏宁易购实名认证麻烦吗 苏宁易购实名认证

📅 07-30 👁️ 6803
[世界杯]B组:西班牙VS智利 上半场 365bet亚洲官方网站

[世界杯]B组:西班牙VS智利 上半场

📅 07-12 👁️ 9119