本帖最后由 我是色色 于 2017-8-18 11:13 编辑
Pythonweb开发中常用的标准库简介
在这些年的开发过程中,深有体会的一点就是,学习一门编程语言,除了要精通它的语法以外,更需要我们去学习该门语言的标准库。标准库是多年以来,大量开发人员留给我们的宝贵财富,它涵盖了编程中的方方面面。从发送Email到GUI开发,再到内置的Http服务器,一应俱全。
Python标准库从Python诞生到现在,已经拥有接近200个模块(包),可以完成我们需要的所有工作。可能有些人会说,这么多模块,怎么学的过来呢。是的,标准库的内容是很多,但是,我们可以选择我们所在的领域中的一些常用标准库,经过系统的学习,我们也能在该领域更好地工作。今天就来说一说在web开发中,我们最常用的标准库。 一、 文本 1. string 常用的a-z、0-9、不可打印字符等等这些都在string模块里定义好了,开发中可以直接导入使用。 2. re 正则表达式的作用就不言而喻了吧,我们所需要的正则就在re模块中。 二、 数据结构 1. collections Python内置的数据结构有时可能并不能满足我们日常的开发,这时可以在collections模块中去寻找,如Counter、deque、OrderedDict等等,这些有用的数据结构我们可以直接使用,而不必我们再去重复造轮子了。 2. copy Python中的想要实现深拷贝,就只有使用copy中的deepcopy了。 3. struct 在网络中二进制的打包与解包就用它了。 三、 算法 1. functools functools封装了编写函数是常用的一些功能,如装饰器中的wraps,偏函数partial等等。 2. itertools 迭代器相关的函数,如chain、count、repeat、cycle等。 四、 日期和时间 开发中常会处理一些日期和时间相关的逻辑,一下便是常用的一些模块。 1. time 时钟时间相关的函数 2. datetime 日期相关的函数 3. calendar 日期相关的函数 五、 数学计算 1. decimal 定点数和浮点数的运算 2. fractions 有理数 3. random 随机数相关 4. math 数学函数 六、 文件系统 1. os 操作系统相关的一些操作 2. tempfile 临时文件 3. StringIO 类似于文件api的文本缓冲区 七、 数据压缩与归档 1. zlib GNU zlib压缩 2. gzip GNU zip文件 3. tarfile tar归档文件 4. zipfile zip文档文件 八、 密码 hashlib用户密码的散列 九、 进程与线程 1. subprocess 创建附加进程 2. signal 异步信号事件 3. threading 线程管理 4. multiprocessing 进程管理 十、 网络通信 1. socket socket套接字网络通信相关 十一、Internet 1. urlparse 解析url 2. urllib系列 对网络资源的访问 3. base64 用Ascii编码二进制数据,网络中常用 4. cookie HTTP cookie相关 5. json 使用json数据时常用的模块 十二、 Email smtplib用来发送邮件 十三、本地化与国际化 1. gettext 消息编目 2. locale 本地化API 十四、 开发工具 1. traceback 异常和栈信息 2. pdb 调试工具 十五、 运行时特性 1. site 全站点配置 2. sys 系统特定的配置 3. platform 系统版本信息 十六、 语言工具 1. warnings 非致命警告 2. abc 抽象基类 3. dis 字节码反汇编工具 4. inspect 检查现场对象 5. exceptions 内置的异常类 十七、 模块与包 importlib导包 由于时间有限,以后有机会再一一给大家细化这些模块。
|