python 常用模块函数(Python模块常用函数)


Python作为一种高效且易学的编程语言,其强大的功能很大程度上依赖于丰富的模块与函数库。从基础系统操作到高级数据分析,Python通过模块化设计实现了代码的复用性与扩展性。其标准库涵盖了文件处理、网络通信、数据压缩等常见需求,而第三方库如NumPy、Pandas、Requests等则进一步拓展了其在科学计算、数据处理和Web开发领域的能力。模块函数的设计遵循“一切皆对象”的理念,参数灵活性高,且通过异常处理机制保障了代码的健壮性。这种“内置电池”特性使得开发者能快速构建复杂应用,同时避免重复造轮子。
一、系统与文件操作模块
Python通过os
、sys
、shutil
等模块实现对操作系统和文件系统的深度交互。
模块 | 核心函数 | 功能描述 | 适用场景 |
---|---|---|---|
os | path.join(), mkdir(), remove() | 路径拼接、创建/删除目录 | 跨平台文件路径管理 |
sys | argv, path.insert(), exit() | 命令行参数解析、修改模块搜索路径 | 脚本参数传递与环境配置 |
shutil | copyfile(), make_archive() | 文件复制、压缩打包 | 批量文件处理与备份 |
例如,os.path.join()
可自动处理不同系统的路径分隔符(如Windows的与Linux的/),而shutil.make_archive()
支持生成zip、tar等多种压缩格式。
二、网络与HTTP请求模块
Python通过socket
、requests
、http.client
等模块提供网络通信能力。
模块 | 核心函数 | 协议支持 | 性能特点 |
---|---|---|---|
requests | get(), post(), session | HTTP/HTTPS | 简洁API,自动处理Cookies |
socket | socket(), bind(), listen() | TCP/UDP | 底层控制,需手动管理连接 |
http.client | HTTPConnection, request() | HTTP/1.1 | 标准库实现,功能较基础 |
requests.session
通过持久化连接提升效率,而socket
模块需手动处理超时与重试逻辑。
三、数据处理与分析模块
数据处理是Python的核心优势,主要依赖numpy
、pandas
、collections
等模块。
模块 | 数据结构 | 核心操作 | 性能表现 |
---|---|---|---|
numpy | ndarray | 向量运算、矩阵变换 | C语言级性能,适合大规模数值计算 |
pandas | DataFrame | 数据清洗、分组聚合 | 内存占用较高,但操作便捷 |
collections | deque, Counter | 高效队列、频率统计 | 纯Python实现,适合中小数据集 |
例如,pandas.DataFrame.groupby()
可一键完成SQL式分组统计,而numpy.vectorize()
能将标量函数向量化。
四、日期与时间处理模块
Python通过datetime
、calendar
、time
等模块管理时间相关操作。
datetime.strptime()
:解析字符串时间(如"2023-10-01")为datetime
对象time.mktime()
:将本地时间转换为UTC时间戳calendar.monthrange()
:获取某年某月的天数与周起始日
注意datetime
模块的时区处理需配合pytz
第三方库,而time.sleep()
仅支持浮点秒数精度。
五、科学计算与可视化模块
科学计算领域主要使用scipy
、matplotlib
、sympy
等模块。
模块 | 核心功能 | 依赖库 | 输出形式 |
---|---|---|---|
scipy | 傅里叶变换、优化算法 | numpy | 数值结果或矩阵 |
matplotlib | 折线图、热力图绘制 | numpy | 静态图像或交互式图表 |
sympy | 符号运算、方程求解 | 无 | 数学表达式或LaTeX代码 |
matplotlib.pyplot.subplots()
可创建多图层图表,而sympy.solve()
能解析非线性方程组。
六、并发与并行处理模块
Python通过threading
、multiprocessing
、asyncio
实现多任务处理。
模块 | 并发模型 | 适用场景 | 性能瓶颈 |
---|---|---|---|
threading | 多线程(受GIL限制) | IO密集型任务(如爬虫) | CPU绑定任务效率低 |
multiprocessing | 多进程(绕过GIL) | CPU密集型计算(如图像处理) | 进程间通信开销大 |
asyncio | 协程(单线程) | 高并发网络服务(如聊天室) | 代码复杂度较高 |
concurrent.futures.ThreadPoolExecutor
提供了更友好的线程池接口,而asyncio.run()
简化了协程启动流程。
七、数据库操作模块
Python通过sqlite3
、pymysql
、sqlalchemy
等模块支持多种数据库。
sqlite3.connect()
:创建内存型或文件型SQLite数据库pymysql.cursors.DictCursor
:以字典形式返回查询结果:实现对象关系映射(ORM)
注意SQLite适用于轻量级场景,而sqlalchemy
的ORM模型会牺牲部分执行效率换取开发便利性。
单元测试与调试主要依赖





