使用Python最大的好处就是里面封装了很多常用的东西,很方便的调用,不用再自己去导入其他的第三方模块。下面就介绍一些一些常用的内建模块。
①、datetime
from datetime import datetime #获取当前的时间 now = datetime.now() #将时间转换成时间戳 t = datetime.now().timestamp() #将时间戳转换成时间 tt = datetime.fromtimestamp(t) #获取UTC时间 ttt = datetime.utcfromtimestamp(t) #将str转换为datetime str_time = datetime.strptime('2016-5-25 18:19:00', '%Y-%m-%d %H:%M:%S') #将datetime转换成str str_time1 = now.strftime('%Y-%m-%d %H-%M-%S') #对时间可以直接使用+,-,但是需要导入timedelta类 from datetime import timedelta print(now + timedelta(hours = 10)) print(now + timedelta(minutes = 5))
②、collections
#collections #如果你用一个tuple表示一个坐标,别人阅读你代码的时候很难看懂,这时候就可以使用 #collections来解决这个问题了 from collections import namedtuple Point = namedtuple('Point', ['x', 'y']) p = Point(1, 2) print('横坐标:', p.x, '纵坐标:', p.y) #在比如一定一个球的球心 Circle = namedtuple('Circle', ['x', 'y', 'z']) c = Circle(10, 10, 20) print(c.x, c.y, c.z) #deque,为了弥补list插入和删除效率低的问题,是一个双向的列表,适用于队列和栈 from collections import deque p = deque([1, 2, 3, 4, 5]) p.appendleft(0) #counter是一个计数器 #统计字母个数 from collections import Counter count = Counter() str = 'aabbccccdddsadasdasdaskjhkjh' for ch in str: count[ch] = count[ch] + 1 print(count)
③、base64
对二进制进行编码,用一个64位的字符来表示任意二进制的方法
④、struct
在python中没有专门的处理字节的类型,那么如何将任意类型转换成bytes呢?
使用这个Struct可以轻松的实现这个。
⑤、hashlib
#!/usr/bin/env python3 # _*_ coding:utf-8 _*_ import hashlib md5 = hashlib.md5() md5.update('admin888'.encode('utf-8')) print(md5.hexdigest())
⑥、itertools
itertools提供了非常有用的用于操作迭代对象的函数。
#!/usr/bin/env python3 # _*_ coding:utf-8 _*_ import itertools #创建一个无限的迭代器 n = itertools.count(1) for i in n: print(i) #repeat负责把一个元素无限重复下去,可以提供第二个参数来限定循环的次数 n = itertools.repeat('abc', 3) for i in n: print(i) #chain把一组迭代对象串联起来,形成一个更大的迭代器 for c in itertools.chain('ABC', 'DEF') print(c) #groupby把迭代器中相邻的重复元素跳出来放在一起 for key, group in itertools.groupby('AAABBBBCCCSSSAAAA'): print(key, list(group))
还有蛮多好用的内建模块,这里就不一一介绍了~