python学习笔记:4 常用模块

常用内建模块

collections

namedtuple
用来自定义tuple。

1
2
3
4
5
from collections import nametuple

Point = nametuple('Point',['x','y'])
p = Point(1,2)
pring p.x,p.y

deque
deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈

1
2
3
from collections import deque
q = deque(['a','b','c'])
a.append('xx)

defaultdict
使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict

OrderedDict

如果要保持Key的顺序,可以用OrderedDict:
注意,OrderedDict的Key会按照插入的顺序排列,不是Key本身排序:

base64

1
2
3
4
5
>>> import base64
>>> base64.b64encode('binary\x00string')
'YmluYXJ5AHN0cmluZw=='
>>> base64.b64decode('YmluYXJ5AHN0cmluZw==')
'binary\x00string'

hashlib

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。

什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)

md5使用

1
2
3
4
5
import hashlib

md5 = hashlib.md5()
md5.update('how to use md5 in python hashlib?')
print md5.hexdigest()

sha1使用

1
2
3
4
5
6
import hashlib

sha1 = hashlib.sha1()
sha1.update('how to use sha1 in ')
sha1.update('python hashlib?')
print sha1.hexdigest()

常用第三方模块