当前位置: 首页 > news >正文

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

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

核心分类与常用模块


1. 内置函数和内置常量 (builtins)
  • 功能:这是最核心的模块,无需使用 import 导入即可在任何地方使用。它包含了语言最基本的功能。

  • 常见成员

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

    • 常量TrueFalseNone


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

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

    • 示例os.listdir()os.path.join()os.getcwd()os.environ

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

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

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

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

    • 示例Path(‘file.txt’).exists()Path(‘dir’) / ‘subdir’ / ‘file.txt’


3. 数据类型与算法
  • collections:提供了许多有用的容器数据类型,作为内置类型(listdictsettuple)的替代和增强。

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

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

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

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

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

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

    • 功能:提供 ListDictTupleUnionOptional 等类型标注工具。

  • 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. 数据压缩与归档
  • gzipzipfiletarfile:分别用于处理 .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 配置文件。

总结

类别核心模块主要功能
系统交互ossyspathlib文件操作、获取系统信息、命令行参数
数据结构collectionstyping增强的容器类型、类型提示
日期时间datetimetime日期时间处理、睡眠
数学计算mathrandomstatistics数学函数、随机数、统计计算
数据持久化jsonpicklesqlite3JSON/对象序列化、数据库操作
并发编程threadingmultiprocessing多线程、多进程
网络通信socketurllib底层网络、HTTP 请求
开发工具loggingunittestpdb日志记录、单元测试、调试
文本处理re正则表达式匹配

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


文章转载自:

http://yOwC05Ql.Lkbdy.cn
http://c6t5MQf0.Lkbdy.cn
http://7lDMa4pi.Lkbdy.cn
http://U1zSLwvi.Lkbdy.cn
http://kGHomnJi.Lkbdy.cn
http://UkRDT28K.Lkbdy.cn
http://jq5zR9er.Lkbdy.cn
http://AbgnWl3r.Lkbdy.cn
http://1ZYrEGyU.Lkbdy.cn
http://Vve5RpE7.Lkbdy.cn
http://EiIfYcn4.Lkbdy.cn
http://rwuXKQLL.Lkbdy.cn
http://CR8S0tn2.Lkbdy.cn
http://WinYmK3y.Lkbdy.cn
http://Cyt91iS8.Lkbdy.cn
http://u7fzzuG1.Lkbdy.cn
http://EJDUjrFx.Lkbdy.cn
http://4IMkQqUS.Lkbdy.cn
http://h1gxBscD.Lkbdy.cn
http://Sm9adtGX.Lkbdy.cn
http://PwNExDQM.Lkbdy.cn
http://6iZBa99x.Lkbdy.cn
http://hs4sI0QP.Lkbdy.cn
http://8Qug8IaQ.Lkbdy.cn
http://JPBZPFOF.Lkbdy.cn
http://3TRzBceY.Lkbdy.cn
http://q0Lug0a3.Lkbdy.cn
http://lHvvtR2q.Lkbdy.cn
http://9V6ZeDqC.Lkbdy.cn
http://nyHZ0YkZ.Lkbdy.cn
http://www.dtcms.com/a/381862.html

相关文章:

  • 文献阅读·MCformer:基于混合通道变换的多变量时间序列预测
  • 【软件操作】飞牛nas系统:笔记本息屏、合盖均不关机
  • 【SPI】【二】SPI控制器驱动代码详解
  • pandas读取复合列名列头及数据和处理
  • jenkins触发部署
  • 【pure-admin】项目登录验证码实现分析
  • Docker快速入门手册
  • 【C++设计模式】第五篇:装饰器模式
  • linux C 语言开发 (十) 进程间通讯--信号
  • 绿色环保活动平台(AI问答、WebSocket即时通讯、协同过滤算法、Echarts图形化分析)
  • 飞算JavaAI实战高效构建电商系统核心功能模块全解析
  • CSS 技巧使页脚始终位于网页的底部
  • Vue3》》eslint Prettier husky
  • 基因组多组学(第七篇空间HD文章)--基于蛋白质组学的分类揭示IDH突变型星形细胞瘤中存在免疫热亚型且预后较差
  • 【无人机】无人机用户体验测试策略详细介绍
  • Bev 感知模型量化 有哪些问题
  • 深入探索React渲染原理与性能优化策略
  • 域名SSL证书免费申请lcjmSSL
  • 贪心算法应用:投资组合再平衡问题详解
  • 整体设计 之 绪 思维导图引擎 之 引 认知系统 之 引 认知系统 之 序 认知元架构 之 元宇宙:三种“即是”逻辑与数据安全措施的适配(豆包助手 之10)
  • 推荐使用 pnpm 而不是 npm
  • 19.路径
  • ESP32-C3 入门09:基于 ESP-IDF + LVGL + ST7789 的 1.54寸 WiFi 时钟(SquareLine Studio 移植)
  • 大数据毕业设计选题推荐-基于大数据的健康与生活方式数据可视化分析系统-Spark-Hadoop-Bigdata
  • 可配日志输出
  • 学习笔记:Python的起源
  • vcpkg:面向C/C++的跨平台库管理工具软件配置笔记经验教程
  • Claude Code的交互方式
  • 使用atop工具监控Linux系统指标
  • 工具链部署实用技巧 7|模型设计帧率推理时耗时与带宽分析