10.1 time库
pathon处理时间的标准库
1.获取现在时间
(1)time.localtime()本地时间
(2)time.gmtime()UTC世界统一时间
北京时间比统一时间UTC早8个小时
2.时间戳与计时器
(1)time.time()返回自纪元以来的秒数,记录sleep
(2)timr.perf_counter()随意选取一个时间点,记录现在时间到该时间点的间隔秒数,记录sleep
(3)time.process_time()随意选取一个时间点,记录现在时间到该时间点的间隔秒数,不记录sleep perf_counter()精度较time()更高一些
3.格式化
(1)time.strfttime 自定义格式化输出
4.睡觉觉
(1)time.sleep()
10.2random库
随机数在计算机应用中十分常见
Python通过random库提供各种伪随机数
基本可以用于除加密解密算法外的大多数工程应用
1.随机种子
(1)相同种子会产生相同的随机数
(2)如果不设置随机种子,以系统当前时间为默认值
2.产生随机整数
(1)randint(a,b)—产生【a,b】之间的随机整数
(2)randrange(a)—产生【0,a】之间的随机整数
(3)randrange(a,b,step)—产生【a,b】之间以setp为步长到随机整数
3.产生随机浮点数
(1)randon()—产生【0.0,1.0】之间的随机浮点数
(2)uniform(a,b)—产生【a,b】之间的随机浮点数
4.序列用函数
(1)choice(seq)—从序列类型中随机返回一个元素
(2)choices(seq.weights=None,k)—对序列类型进行k次重复采样,可设置权重
(3)shuffle(seq)—将序列类型中元素随机排列,返回打乱后的序列
(4)sample(pop,k)—从pop类型中随机选取k个元素,以列表类型返回
5.概率分布—以高斯分步为例
gauss(mean,std)—生产一个符合高斯分步的随机数
多生成几个
10.3collections库—容器数据类型
1.具名元组
2.计数器工作
3.双向队列
列表访问数据非常快速
插入和删除操作非常慢—通过移动元素位置来实现
特别是insert(0,v)和pop(0),在列表开始进行的插入和删除操作
双向队列可以方便的在队列两边高效、快速的增加和删除元素
10.4itsrtools库—迭代器
1.排列组合迭代器
(1)product—笛卡尔积
(2)permutations—排列
(3)combinations—组合
(4)combitions_with_replacement—元素可重复组合
2.拉链
(1)zip—短拉链
长度不一时,执行到最短的对象处,就停止
(2)zip_longest—长拉链
长度不一时,执行到最长的对象处,就停止,缺省元素用None或指定字符替代
3.无穷迭代器
(1)count(start=0,step=1)—计数
(2)cycle(iterable)—循环
(3)repeat(object【,times)重复
4.其他
(1)chain(iterables)—锁链
(2)enumerate(iterable,start=0)—枚举(Python内置)
(3)groupby(itarable,key=None)—分组