很系统的简介了Python标准库的使用方向,对形成知识框架很有帮助。

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

Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。

我将根据我个人的使用经验中,挑选出标准库三个方面的包(package)介绍:

Python增强
系统互动
网络

第一类:Python增强

Python自身的已有的一些功能可以随着标准库的使用而得到增强。

1) 文字处理

Python的string类提供了对字符串进行处理的方法。更进一步,通过标准库中的re包,Python可以用正则表达式(regular expression)来处理字符串。

正则表达式是一个字符串模板。Python可以从字符中搜查符合该模板的部分,或者对这一部分替换成其它内容。比如你可以搜索一个文本中所有的数字。正则表达式的关键在于根据自己的需要构成模板。

此外,Python标准库还为字符串的输出提供更加丰富的格式, 比如: string包,textwrap包。

2) 数据对象

不同的数据对象,适用于不同场合的对数据的组织和管理。Python的标准库定义了表和词典之外的数据对象,比如说数组(array),队列(Queue)。一个熟悉数据结构(data structure)的Python用户可以在这些包中找到自己需要的数据结构。

此外,我们也会经常使用copy包,以复制对象。

3) 日期和时间

日期和时间的管理并不复杂,但容易犯错。Python的标准库中对日期和时间的管理颇为完善(利用time包管理时间,利用datetime包管理日期和时间),你不仅可以进行日期时间的查询和变换(比如:2012年7月18日对应的是星期几),还可以对日期时间进行运算(比如2000.1.1 13:00的378小时之后是什么日期,什么时间)。通过这些标准库,还可以根据需要控制日期时间输出的文本格式(比如:输出’2012-7-18‘还是’18 Jul 2012’)

4) 数学运算

标准库中,Python定义了一些新的数字类型(decimal包, fractions包), 以弥补之前的数字类型(integer, float)可能的不足。标准库还包含了random包,用于处理随机数相关的功能(产生随机数,随机取样等)。math包补充了一些重要的数学常数和数学函数,比如pi,三角函数等等。

(尽管numpy并不是标准库中的包,但它的数组运算的良好支持,让它在基于Python的科研和计算方面得到相当广泛的应用,可以适当关注。)

5) 存储

之前我们的快速教程中,只提及了文本的输入和输出。实际上,Python可以输入或输出任意的对象。这些对象可以通过标准库中的pickle包转换成为二进制格式(binary),然后存储于文件之中,也可以反向从二进制文件中读取对象。

此外,标准库中还支持基本的数据库功能(sqlite3包)。XML和csv格式的文件也有相应的处理包。

第二类:系统互动

系统互动,主要指Python和操作系统(operate system)、文件系统(file system)的互动。Python可以实现一个操作系统的许多功能。它能够像bash脚本那样管理操作系统,这也是Python有时被成为脚本语言的原因。

1) Python运行控制

sys包被用于管理Python自身的运行环境。Python是一个解释器(interpreter), 也是一个运行在操作系统上的程序。我们可以用sys包来控制这一程序运行的许多参数,比如说Python运行所能占据的内存和CPU, Python所要扫描的路径等。另一个重要功能是和Python自己的命令行互动,从命令行读取命令和参数。

2) 操作系统

如果说Python构成了一个小的世界,那么操作系统就是包围这个小世界的大世界。Python与操作系统的互动可以让Python在自己的小世界里管理整个大世界。

os包是Python与操作系统的接口。我们可以用os包来实现操作系统的许多功能,比如管理系统进程,改变当前路径(相当于’cd‘),改变文件权限等,建立。但要注意,os包是建立在操作系统的平台上的,许多功能在Windows系统上是无法实现的。另外,在使用os包中,要注意其中的有些功能已经被其他的包取代。

我们通过文件系统来管理磁盘上储存的文件。查找、删除,复制文件,以及列出文件列表等都是常见的文件操作。这些功能经常可以在操作系统中看到(比如ls, mv, cp等Linux命令),但现在可以通过Python标准库中的glob包、shutil包、os.path包、以及os包的一些函数等,在Python内部实现。

subprocess包被用于执行外部命令,其功能相当于我们在操作系统的命令行中输入命令以执行,比如常见的系统命令’ls’或者’cd’,还可以是任意可以在命令行中执行的程序。

4) 线程与进程

Python支持多线程(threading包)运行和多进程(multiprocessing包)运行。通过多线程和多进程,可以提高系统资源的利用率,提高计算机的处理速度。Python在这些包中,附带有相关的通信和内存管理工具。此外,Python还支持类似于UNIX的signal系统,以实现进程之间的粗糙的信号通信。

第三类:网络

现在,网络功能的强弱很大程度上决定了一个语言的成功与否。从Ruby, JavaScript, PHP身上都可以感受到这一点。Python的标准库对互联网开发的支持并不充分,这也是Django等基于Python的项目的出发点: 增强Python在网络方面的应用功能。这些项目取得了很大的成功,也是许多人愿意来学习Python的一大原因。但应注意到,这些基于Python的项目也是建立在Python标准库的基础上的。

1) 基于socket层的网络应用

socket是网络可编程部分的底层。通过socket包,我们可以直接管理socket,比如说将socket赋予给某个端口(port),连接远程端口,以及通过连接传输数据。我们也可以利用SocketServer包更方便地建立服务器。

通过与多线程和多进程配合,建立多线程或者多进程的服务器,可以有效提高服务器的工作能力。此外,通过asyncore包实现异步处理,也是改善服务器性能的一个方案。

2) 互联网应用

在实际应用中,网络的很多底层细节(比如socket)都是被高层的协议隐藏起来的。建立在socket之上的http协议实际上更容易也更经常被使用。http通过request/responce的模式建立连接并进行通信,其信息内容也更容易理解。Python标准库中有http的服务器端和客户端的应用支持(BaseHTTPServer包; urllib包, urllib2包), 并且可以通过urlparse包对URL(URL实际上说明了网络资源所在的位置)进行理解和操作。

以上的介绍比较粗糙,只希望能为大家提供一个了解标准库的入口。欢迎大家一起分享标准库的使用经验。

Python标准库简介相关推荐

  1. python函数库_10. 标准库简介

    10.标准库简介¶ 10.1.操作系统接口¶ os 模块提供了许多与操作系统交互的函数: >>>import os >>>os.getcwd() # Return ...

  2. 小白入门——Python标准库和第三方库简介

    首先简要介绍如何查看python库安装位置,常见Python标准库和常见Python第三方库简介. 查看python库安装位置 1.使用pip list查看 在cmd中输入python -m pip ...

  3. Python标准库和第三方库简介

    Python标准库和第三方库简介 先简要介绍如何查看python库安装位置,常见Python标准库和常见Python第三方库简介. 查看python库安装位置 1.使用pip list查看 在cmd中 ...

  4. Python 标准库之 xml.etree.ElementTree xml解析

    Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API,常用的有xml.dom.*模块.xml.sax.*模块.xml.parser.expat模块和 ...

  5. Python学习笔记: Python 标准库概览

    本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构 ...

  6. 一文学会Python标准库struct序列化与反序列化

    使用Python标准库struct序列化Python整数.实数.字节串时,需要使用struct模块的pack()函数把对象按指定的格式进行序列化,然后使用文件对象的write()方法将序列化的结果字节 ...

  7. 转--Python标准库之一句话概括

    作者原文链接 想掌握Python标准库,读它的官方文档很重要.本文并非此文档的复制版,而是对每一个库的一句话概括以及它的主要函数,由此用什么库心里就会有数了. 文本处理 string: 提供了字符集: ...

  8. python 标准库 书籍_《Python标准库》Python语言的权威之作

    <Python标准库>由资深python专家亲自执笔,python语言的核心开发人员作序推荐,是Python的权威之作,书中对一百多个模块进行了生动的讲解.<Python标准库> ...

  9. Python标准库〖 turtle 〗

    Python标准库[ turtle ] 1. 简介 2. 基础知识 2.1 画布(canvas) 2.2 画笔 2.2.1 画笔的状态 2.2.2 画笔的属性 2.2.3 绘图命令 2.2.3.1 运 ...

最新文章

  1. 语音识别——基于深度学习的中文语音识别tutorial(代码实践)
  2. a4988 脉宽要求_A4982/A4984/A4985和A4988设备主要针对办公室自动化市场
  3. 大数据时代:数据质量逐渐成关注焦点
  4. delphi idtcpclient和idtcpserver的心跳包
  5. oracle 密码管理,【转载】Oracle密码管理五大要点(一)
  6. 51单片机——LED发光二极管、蜂鸣器C语言入门编程
  7. 主力吸筹猛攻指标源码_成功率90%以上【主力吸筹+买点提示+使用方法】通达信指标公式源码...
  8. Win10投影到此电脑用不了
  9. matlab脉冲压缩,雷达线性调频脉冲压缩的原理及其matlab仿真
  10. 实现网站二维码扫描登录
  11. 计算机桌面音量键在哪,电脑音量调节快捷键_电脑音量快捷键设置
  12. IEEE 中 LaTeX在作者后面加上ORCID标志和链接
  13. tp1900芯片对比7621a_MT7621A /MT7620N / MT7620A单频双频刷机教程(区别于高通芯片刷机过程)...
  14. Photoshop设计一款Iphone风格导航菜单教程
  15. FPGA:逻辑函数的卡诺图化简法
  16. ❤女朋友生日❤ HTML+css3+js 实现抖音炫酷樱花3D相册 (含背景音乐)程序员表白必备
  17. 如何证明函数有界_科技界正在抓住机会来证明不平等
  18. Typescript----前端
  19. 【UML】UML中的各种图
  20. 一个会展论坛进行的全息营销“策划” -王甲佳全息营销系列08

热门文章

  1. python之禅 源码 恺撒加密/映射加密
  2. oracle官网免登录下载jdk8
  3. [QTV] 如何在 AWS F1 实例中使用 Vivado IPI
  4. 漫画:互联网人的十二时辰,程序员最惨!
  5. 追踪社保基金操盘者的足迹
  6. 仅凭我自己的经验写给小白的网页制作全过程
  7. POS机安全电路设计
  8. 深度学习基础:2.最小二乘法
  9. HTML5文件夹隐藏了怎么打开,如何打开隐藏文件夹,详细教您打开隐藏文件夹的方法...
  10. Python爬虫(5):豆瓣读书练手爬虫