一、 sys
sys模块代表python解释器,主要用于获取python解释器相关信息
二、 os模块
os模块代表程序所在操作系统,用于获取程序运行所在os相关信息
https://docs.python.org/3/library/os.html
https://www.runoob.com/python/os-file-methods.html
https://www.runoob.com/python/python-os-path.html
三、 random模块
主要包含生成伪随机数的功能变量和函数
https://docs.python.org/3/library/random.html
四、 time模块
提供各种日期、时间功能的类和函数,也提供日期、时间与字符串相互转换功能
https://docs.python.org/3/library/time.html
五、 json模块
json模块提供对json的支持,它包含json字符串与python对象互转的函数
https://docs.python.org/3/library/json.html
https://www.runoob.com/python/python-json.html
六、 正则表达式
re模块提供正则表达式支持,正则表达式用于描述字符串匹配的模式
https://docs.python.org/3/library/re.html
https://www.runoob.com/python/python-reg-expressions.html
七、 容器相关类
除元组、列表、字典之外,python还提供了集合、双端队列等容器
1. set和frozenset
set元素无序且不可重复,但其中元素可修改
frozenset则是set的不可变版本,其中元素不可修改
2. 双端队列deque
双端队列可以分别从两端进行插入、删除操作,它既可作为普通队列,也可作为栈使用。
若固定在双端队列一端插入、另一端删除,它即是普通队列
若只在双端队列某一端执行插入、删除,它即是栈
deque位于collection包下
3. python的堆操作
python并没有提供堆这种数据类型,它直接将列表当作堆处理。
heapq包中提供了一些函数,当程序用这些函数操作列表时,列表就会出现堆的行为
八、 collection下的容器支持
1. ChainMap对象
它将多个dict“链”在一起,相当于将多个dict合并成一个大dict,从而允许程序直接获取任意dict的k-v值
2. Counter对象
可以自动统计容器中各元素出现的次数。
Counter对象本质就是一个dict,其key为包含的元素,value为元素出现次数
3. defaultdict对象
defaultdict是dict的子类,dict支持的功能它基本都支持。
与dict的最大区别在于,当程序提供不存在的key访问dict中的value,会引发KeyError异常,而defaultdict提供default_factory属性,为不存在的key生成value
4. OrderedDict对象
也是dict的子类,它可以维护添加的k-v对顺序,先添加的k-v对排前面,后添加的排后面。
因为OrderedDict是有序的,如果两个OrderedDict对象k-v对完全相同但添加顺序不同,它们依然是不等的。
5. nametuple(命名元组)工厂函数
nametuple是一个工厂函数,该函数可创建一个tuple类的子类,该子类为tuple的每个元素都指定字段名,使程序可根据字段名访问nametuple各元素
九、 函数相关模块
1. itertools模块的功能函数
主要包含一些用于生成器的函数
https://docs.python.org/3/library/itertools.html
2. functools模块的功能函数
主要包含一些函数装饰器和便捷的功能函数
https://docs.python.org/3/library/functools.html