常用内建模块
collections
namedtuple
用来自定义tuple。1
2
3
4
5from collections import nametuple
Point = nametuple('Point',['x','y'])
p = Point(1,2)
pring p.x,p.y
deque
deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈1
2
3from 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 | >>> import base64 |
hashlib
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)
md5使用1
2
3
4
5import hashlib
md5 = hashlib.md5()
md5.update('how to use md5 in python hashlib?')
print md5.hexdigest()
sha1使用1
2
3
4
5
6import hashlib
sha1 = hashlib.sha1()
sha1.update('how to use sha1 in ')
sha1.update('python hashlib?')
print sha1.hexdigest()