zoukankan      html  css  js  c++  java
  • Python标准库的学习准备

    Vamei博客地址:http://www.cnblogs.com/vamei/archive/2012/07/23/2605345.html

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

     

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

     

    硬件原理

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

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

     

    操作系统

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

    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标准库中解析命令行的包也是有用的。

     

    网络

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

    1) TCP/IP的基础的分层架构。这方面的内容太广博了,所以可以有选择地了解骨干知识。

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

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

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

     

    算法与数据结构

    标准库中定义有一些数据对象的封装。因此,你并不需要重头编写它们。相关数据结构的应用需要一些数据结构的知识,比如队列,树等。

    标准库中已经实现了许多算法,比如排序等,可以方便的调用。算法的基础知识可以帮助你做决定。

     

    数据库

    Python中内置了sqlite3。如果你只需要一个简单的数据库,可以直接从标准库中调用sqlite3。

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

     

    加密和文本编码

    Python的加密算法同样基于一些经典加密算法,比如MD5,RSA算法。加密的基本知识将很有帮助。

    使用非ASCII编码,比如中文时,文本编码的知识很重要。

     

    总结 

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


  • 相关阅读:
    ubuntu 18.04 搭建flask服务器(大合集,个人实操)
    Ubuntu18.04下Git安装及使用
    c#随机打乱数组
    c#递归获取目录下所有文件名称
    授人以渔:Keil配色界面较为详细的解释
    k8s存储资源之持久化存储资源存储卷PV与PVC理解与应用(七)
    Servlet总结
    Linux 系统目录结构
    make 编译笔记
    【Linux】Linux网络编程
  • 原文地址:https://www.cnblogs.com/v-BigdoG-v/p/7398572.html
Copyright © 2011-2022 走看看