0
回答
黑马程序员分享:Python web开发中常用的标准库

       在这些年的开发过程中,深有体会的一点就是,学习一门编程语言,除了要精通它的语法以外,更需要我们去学习该门语言的标准库。标准库是多年以来,大量开发人员留给我们的宝贵财富,它涵盖了编程中的方方面面。从发送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导包

       由于时间有限,以后有机会再一一给大家细化这些模块。

<无标签>
举报
传智播客
发帖于1年前 0回/194阅
顶部