前言
python发展了很多年,有非常丰富的标准库模块,选择合适的标准库模块既可以降低工作量,还能简化代码量。
必须了解的标准库模块方法整理如下:
- atexit 运行的程序在退出时调用的函数
- argparse 提供了命令行参数解析功能
- bisect 可为排序列表提供二分查找算法
- calendar 提供一组与日期有关的函数
- codecs 提供编解码数据的函数
- collections提供一组有用的数据结构
- copy 提供复制数据的函数
- csv 提供用于读写csv文件函数
- datetime 提供用于处理日期的和时间的类
- fnmatch 提供用于匹配unix风格文件模式匹配函数
- concurrent 提供并发的模式常用函数
- glob 提供用于匹配unix风格的路径模块
- io提供用于处理I/O流的函数
- json 默认的json库
- logging 默认的日志库
- multiprocessing 多进程中常用的工具函数库
- operator 提供各种运算符的功能函数,比写lambda简单了很多
- os 提供操作系统的函数方法
- random默认生成随机数的函数
- re 提供正则表达式功能
- sched 提供一个无须多线程的事件调度器
- select 提供对函数select()和poll()的访问,创建事件循环
- shutil提供高级文件处理的函数访问
- signal 处理POSIX信号处理
- tempfile 提供用于创建临时文件和目录的函数
- threading 提供高级线程的功能
- urllib 提供处理url解析的各种函数
- uuid 生成全局唯一的uuid标识
除了标准库以外日常编码迭代优化相关库还有itertools
使用itertools针对迭代有非常好的性能优化和内存使用优化,提升处理海量数据效率,因此单独拿出来推荐。
itertools,是python的一个内置模块,功能强大,主要用于高效循环创建迭代器。注意一点,他返回的不是list,而是iterator。
- 无限迭代器:count,cycle,repeat
count示例
- 有限迭代器:chain,groupby,accumulate
把迭代器中相邻的重复元素挑出来放在一起
- 组合迭代器:product,permutations,combinations
返回p中任意取r个元素做排列的元组的迭代器
总结
工欲善其事,必先利其器,python的各种标准库和常用用法是写好python的基础,最好每个模块都手动敲下,日常多用用对于了解python和写好python会有非常大的帮助。