Python中常用的标准库以及功能

news/2024/12/4 12:33:38/

python中常用的标准库以及功能">Python 提供了丰富的标准库,这些库为我们提供了常用的工具和功能,涵盖了从操作系统交互、文件处理、数据序列化、网络通信到多线程编程等方方面面。这些标准库大大简化了我们的工作,使得开发高效、稳定、易于维护的应用程序变得更加容易。在实际项目中,熟练掌握和合理运用这些标准库,可以显著提高我们的开发效率和代码质量。

1. os

  • 功能os 模块提供了一种与操作系统进行交互的便捷方式。我们可以使用它来处理文件和目录、管理环境变量、执行操作系统命令等。
  • 常用功能
    • os.path: 用于路径操作(如路径拼接、文件名提取)。
    • os.makedirs(): 创建多层目录。
    • os.getenv(): 获取环境变量
    • os.system(): 执行系统命令

2. sys

  • 功能sys 模块提供了与 Python 解释器相关的函数和变量,允许我们与解释器进行交互。
  • 常用功能
    • sys.argv: 命令行参数列表。
    • sys.exit(): 终止程序运行。
    • sys.path: 模块搜索路径列表,可以动态修改。
    • sys.stdout / sys.stderr: 输出流和错误流的重定向。

3. math

  • 功能math 模块提供了基本的数学函数和常量,如三角函数、对数、指数、平方根、常数(如π)等。
  • 常用功能
    • math.sqrt(): 计算平方根。
    • math.sin()math.cos()math.tan(): 三角函数。
    • math.log(): 计算对数(自然对数和其他基数对数)。
    • math.factorial(): 计算阶乘。

4. datetime

  • 功能datetime 模块用于处理日期和时间,支持日期的算术运算、格式化、解析等操作。
  • 常用功能
    • datetime.date: 表示日期(年、月、日)。
    • datetime.time: 表示时间(时、分、秒、毫秒)。
    • datetime.datetime: 表示日期和时间的组合。
    • datetime.timedelta: 表示两个日期或时间的差。
    • datetime.strftime(): 格式化日期和时间为字符串。
    • datetime.strptime(): 从字符串解析日期和时间。

5. time

  • 功能time 模块提供了与时间相关的函数,如暂停、获取当前时间等。
  • 常用功能
    • time.time(): 返回当前时间的时间戳(自1970-01-01以来的秒数)。
    • time.sleep(): 让程序暂停指定的时间(秒)。
    • time.localtime(): 将时间戳转换为本地时间的结构体。
    • time.strftime(): 格式化时间为字符串。

6. random

  • 功能random 模块用于生成伪随机数,并提供了随机选择、打乱顺序等功能。
  • 常用功能
    • random.random(): 返回0到1之间的随机浮点数。
    • random.randint(a, b): 返回a到b之间的随机整数。
    • random.choice(): 从序列中随机选择一个元素。
    • random.shuffle(): 随机打乱序列顺序。
    • random.sample(): 从序列中随机取样。

7. re

  • 功能re 模块提供了正则表达式的支持,允许你在字符串中进行复杂的模式匹配、查找和替换。
  • 常用功能
    • re.match(): 从字符串的起始位置进行匹配。
    • re.search(): 在字符串中查找模式的首次出现。
    • re.findall(): 查找字符串中所有符合模式的部分。
    • re.sub(): 替换字符串中符合模式的部分。

8. json

  • 功能json 模块提供了将 Python 对象转换为 JSON 格式,以及将 JSON 数据解析为 Python 对象的功能。
  • 常用功能
    • json.dump(): 将 Python 对象序列化为 JSON 格式,并写入文件。
    • json.dumps(): 将 Python 对象序列化为 JSON 格式的字符串。
    • json.load(): 从文件中读取 JSON 数据并解析为 Python 对象。
    • json.loads(): 将 JSON 字符串解析为 Python 对象。

9. subprocess

  • 功能subprocess 模块允许我们生成子进程,并与其交互,代替旧的 os.system() 方法。
  • 常用功能
    • subprocess.run(): 运行命令并等待其完成。
    • subprocess.Popen(): 启动一个子进程,并可以通过 stdinstdoutstderr 与其交互。
    • subprocess.call(): 执行命令并返回状态码。

10. collections

  • 功能collections 模块提供了几个有用的容器数据类型,如 Counterdequedefaultdictnamedtuple 等。
  • 常用功能
    • Counter: 用于计数的字典,可以统计元素出现的次数。
    • deque: 双端队列,支持在两端高效地添加和删除元素。
    • defaultdict: 带有默认值的字典。
    • namedtuple: 定义命名元组,可以像对象一样访问元素。

11. itertools

  • 功能itertools 模块提供了用于操作迭代器的函数,用于高效地处理循环和组合生成器等任务。
  • 常用功能
    • itertools.chain(): 将多个迭代器连接在一起。
    • itertools.cycle(): 无限循环一个迭代器。
    • itertools.permutations(): 生成序列的所有排列。
    • itertools.combinations(): 生成序列的所有组合。
    • itertools.product(): 生成笛卡尔积。

12. functools

  • 功能functools 模块提供了处理和操作函数的工具,支持部分函数应用、缓存、比较等功能。
  • 常用功能
    • functools.partial(): 创建一个部分应用的函数。
    • functools.lru_cache(): 通过缓存来优化函数性能。
    • functools.reduce(): 累积地将函数应用于序列的元素。

13. threading

  • 功能threading 模块支持多线程编程,允许我们在 Python 中创建和管理线程。
  • 常用功能
    • threading.Thread(): 创建并启动一个新线程。
    • threading.Lock(): 实现线程间的互斥锁。
    • threading.Event(): 用于线程间通信的同步原语。
    • threading.Timer(): 延迟执行的线程。

14. multiprocessing

  • 功能multiprocessing 模块提供了支持并行处理的功能,通过在多个进程中分配任务来提高计算效率。
  • 常用功能
    • multiprocessing.Process(): 创建并启动一个新进程。
    • multiprocessing.Pool(): 创建一个进程池,用于并行处理多个任务。
    • multiprocessing.Queue(): 用于进程间通信的队列。
    • multiprocessing.Manager(): 管理共享状态的服务。

15. shutil

  • 功能shutil 模块提供了高级的文件操作功能,如复制、移动、删除文件和目录。
  • 常用功能
    • shutil.copy(): 复制文件。
    • shutil.move(): 移动文件或目录。
    • shutil.rmtree(): 删除目录及其所有内容。
    • shutil.make_archive(): 创建压缩文件(zip、tar 等)。

16. glob

  • 功能glob 模块用于匹配文件路径名模式,如查找符合特定模式的文件。
  • 常用功能
    • glob.glob(): 返回符合特定模式的文件路径列表。
    • glob.iglob(): 返回一个迭代器,生成符合模式的文件路径。

17. csv

  • 功能csv 模块提供了读写 CSV 文件的功能,支持多种格式的 CSV 文件操作。
  • 常用功能
    • csv.reader(): 读取 CSV 文件内容,返回一个可迭代的 reader 对象。
    • csv.writer(): 写入 CSV 文件内容。
    • csv.DictReader(): 以字典的形式读取 CSV 文件。
    • csv.DictWriter(): 以字典的形式写入 CSV 文件。

18. hashlib

  • 功能hashlib 模块提供了用于生成哈希值和摘要的算法,如 SHA-1、SHA-256、MD5 等。
  • 常用功能
    • hashlib.sha256(): 生成 SHA-256 哈希值。
    • hashlib.md5(): 生成 MD5 哈希值。
    • hashlib.blake2b(): 生成 Blake2b 哈希值。
    • hashlib.sha512(): 生成 SHA-512 哈希值。

19. http

  • 功能http 模块提供了处理 HTTP 请求和响应的功能,包含服务器和客户端相关的工具。
  • 常用功能
    • http.client: 用于发起 HTTP 请求。
    • http.server: 用于创建简单的 HTTP 服务器。
    • http.cookies: 用于处理 HTTP Cookies。
    • http.HTTPStatus: 枚举 HTTP 状态码。

20. socket

  • 功能socket 模块提供了低级别的网络通信接口,支持 TCP、UDP、IP 等网络协议的编程。
  • 常用功能
    • socket.socket(): 创建一个套接字对象。
    • socket.bind(): 绑定套接字到地址。
    • socket.listen(): 监听连接。
    • socket.accept(): 接受连接请求。
    • socket.connect(): 连接到远程套接字。

http://www.ppmy.cn/news/1552268.html

相关文章

模拟器快速上手,助力HarmonyOS应用/服务高效开发

文章目录 1 创建模拟器1)打开设备管理界面2)设置本地模拟器实例存储路径3)创建一个模拟器(1)选择模拟器设备(2)创建模拟器(3)启动模拟器(4)关闭模…

【Spring篇】SpringMVC的常见数据绑定

🧸安清h:个人主页 🎥个人专栏:【计算机网络】【Mybatis篇】【Spring篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎯SpringMVC的简单数…

张伟楠动手学强化学习笔记|第一讲(上)

张伟楠动手学强化学习笔记|第一讲(上) 人工智能的两种任务类型 预测型任务 有监督学习无监督学习 决策型任务 强化学习 序贯决策(Sequential Decision Making) 智能体序贯地做出一个个决策,并接续看到新的观测,知道最终任务结…

游戏引擎学习第31天

仓库:https://gitee.com/mrxiao_com/2d_game 回顾 回顾了他们的游戏开发进度,并强调了编写整个游戏的价值。他们提到,这个过程的目的是让每个参与者从零开始编程一个完整的游戏,了解整个游戏的工作原理。这样做的一个关键好处是&#xff0c…

python(18) : flask_sqlalchemy 配置sqlserver数据库对象

1.安装依赖 pip3 install flask_sqlalchemy -i https://mirrors.aliyun.com/pypi/simple/ requests2.数据库配置信息(db_manager.py) import osfrom flask import Flask from flask_cors import CORS from flask_sqlalchemy import SQLAlchemydatabase testapp Flask(__nam…

51单片机从入门到精通:理论与实践指南常用资源篇(五)

坚持一下,确实还有几天就可以学完了,这段时间的努力和付出都将化为宝贵的成果。正如《人民日报》所说:“每一次努力,都是幸运的伏笔。” 不论是在学习、工作还是生活中,坚持都是通往成功的必经之路。当我们在面对困难和…

聚云科技×亚马逊云科技:打通生成式AI落地最后一公里

云计算时代,MSP(云管理服务提供商)犹如一个帮助企业上云、用云、管理云的专业管家,在云计算厂商与企业之间扮演桥梁的作用。生成式AI浪潮的到来,也为MSP带来全新的生态价值和发展空间。 作为国内领先的云管理服务提供…

Flink项目实战:实时数据流处理

Apache Flink是一款开源的分布式流处理框架,广泛应用于大规模数据处理、实时数据分析和流式计算任务。Flink提供了一个高吞吐量、低延迟的流处理引擎,适合用来处理各种流式数据,例如日志分析、实时监控、推荐系统、社交网络分析等。本篇文章将介绍如何使用Apache Flink构建一…