Python标准库的学习准备

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

Python标准库是Python强大的动力所在,我们已经在前文中有所介绍。由于标准库所涉及的应用很广,所以需要学习一定的背景知识。

 

1. 计算机硬件原理

这一部份需要了解内存,CPU,磁盘存储以及IO的功能和性能,了解计算机工作的流程,了解指令的概念。这些内容基础而重要。

Python标准库的一部份是为了提高系统的性能(比如mmap),所以有必要了解基本的计算机各个组成部分的性能。

 

2. 操作系统(特别是Linux系统)

在了解操作系统时,下面是重点:

1) 操作系统的进程管理,比如什么是UID, PID, daemon

2) 进程之间的信号通信,比如使用kill传递信号的方式

学习进程相关的内容,是为了方便于学习os包,thread包,multiprocessing包,signal包

3) 文件管理,文件的几种类型。

4) 文件读写(IO)接口

5) 文件的权限以及其它的文件信息(meta data)

6) 常用系统命令以及应用,比如ls, mv, rm, mkdir, chmod, zip, tar..., 

学习文件相关的内容,,是为了学习os包, shutil包中文件管理相关的部分。学习文件接口对于文本输入输出的理解很重要,也会影响到对于socket包, select包概念的理解。此外,python中的归档(archive)和压缩(compress)功能也和操作系统中的类似。

7) Linux shell,比如说file name matching,对于理解glob包等有帮助。如果你对Linux的正则表达(regular expression)有了解的话,python的正则表达的学习会变得比较容易。学习Linux命令行中的参数传递对于理解python标准库中解析命令行的包也是有用的。

 

3. 网络相关

Python的一大应用是在网络方面。但Python和标准库只是提供了接口,并不涉及底层。网络知识可以大大降低学习曲线的陡度。

1) TCP/IP的基础的分层架构

这方面的内容太广博了,所以可以有选择地了解骨干知识。

2) 常用的应用层协议,比如http, 以及邮件相关的协议,特别是它们的工作过程。

3) 根据需要,了解html/css/javascript/jQuery/frame

如果想利用python建服务器,比如在google app engine上,这些知识是需要的。

 

4. 数据结构

标准库中定义有一些数据对象的封装。它们的应用需要一些数据结构的知识,比如队列,树等。如果已经了解这些数据结构,这部分的学习没有任何难度。

 

5. 数据库

当使用python中数据库相关的包时(比如sqlite3),需要对数据库,特别是关系型数据库,有一个基本了解。

 

6. 加密和文本编码相关

这一部分没有经验,不敢乱说。

 

最后的,也是最重要的,就是Python基本的对象概念和动态类型概念。可以参照快速教程,并尝试阅读更多的资料和源码,来加深对概念的理解。Python标准库学习的难度在于背景知识。一个了解相关背景知识(或者其它语言的库)的程序员,可以在很短的时间内掌握Python基础库。

你可能感兴趣的:(python)