2。3 Python常用模块介绍
这门语言除了关键字和一些内置的类型和函数,更多的功能是通过模板来提供的。常用的模块如下:
(1)在运行时的服务
COPY:提供了对复合对象进行深浅拷贝的功能。
Pickle:这个模块被用来序列化Python中的对象到bytes流,可以适合存储到文件,网络数据传输或者对于数据库进行存储的功能。
Sys:这个模块包含了根据Python解析器和环境相关的变量和函数。
其他:除了上面介绍的这三个模块,还有很多,例如:atexit,gc,inspect,ytpes,marshal,traceback,warnings,weakref等。
(2)数学
Decimal:在Python中,float是使用的双精度的二进制的浮点编码来进行标示的,这种编码将会导致小数不能够被精确的进行表式,比如0。1实际在内存中显示为:0。100000000000000001,还有3*0。1==0。3这个语句是错误的。那么这个模板就是用来解决类似于这样的问题的,这样能提高精确度,表式更广大范围的数据,更能够进行精确的四舍五入。
Math:这个模块定义了我们我们常用的标准的数学方法,例如三角函数等。
Random:这个模块提供了各式各样了方法来帮助我们产生一个随机数,下文中的学习实例就是用这个模块产生了一个一到一百的一个随机整数。
其他:除了上面较少的这三个,还有fractions,numbers。等
(3)数据结构,算法以及代码的简化模板:
Array:这个模板代表了数组,与list比较相似,但不同的是这个模板中只能存储相同类型的对象。
Bisect:这个模板表式了一个有序的list,它的内部是使用二分法来实现大部分的操作的。
Collections:这个模块中包含了一些有用的容器的高性能实现,和创建一些对象的函数。
Heapq:这个模块使用了一个heap来实现一个带有优先级别的queue。
Itertools:这个模板包含了创建有效的iterators的函数。
Operator:这个模块向用户提供了直接访问Python中内置的操作和解析器的特殊方法。举个例子:x+y为add(x,y)。
(4)字符串和文本的处理
Codes:这个模块被用来处理不同的字符编码和文本的格式转化。
Re:这个模块用来对字符串进行正则表达式的匹配和替换。
String:这个模块中含有了大量的常量和函数可以供我们用来处理字符串。里面也包括了对一个新的字符串进行格式的类。
Struct:这个模块被用来在Python和二进制结构之间进行实现转化。
Unicodedata:这个模块可以让用户访问unicode字符串数据库。
(5)数据库的访问论文网
关系型数据库它们都具有共同的规范,有很多软件都可以实现这个规范,并且可以加入自己的扩展。
Splite3:这个模块直接向用户提供了对SQlite数据库访问的接口。这个数据库是用一个文件或者同内存的形式存在自包含的关系型数据库。
DMB-style数据库模块
Shelve:这个模块使用特殊的“shelf”对象来支持持久化的对象。这个对象的行为与dict相似,所有的存储对象都基于hashtable数据库,并且存储在硬盘中。这个模块与dbm模块的区别在于是它存储的对象不仅是字符串,而且是可以任意与pickle相兼容的所有的对象。
(6)文件和目录的处理模板
Bz2:这个模块是用来粗粒用这种压缩算法所进行压缩的文件的。
Filecmp:这个模块向用户提供了一个函数用来比较文件和目录。
还有许多模板,不过它们的大致功能都比较相似,大都是用来完成对于某一种格式的文件进行各种功能,例如:拷贝,删除,改文件的名字,进行处理,匹配所有文件等。