导读
本次知识点,很像C++中的容器,可以看我之前的博客
嵌入式c++(十)
嵌入式C++(十一)
嵌入式C++(十二)
一、time——处理时间的标准库
1.1 获取现在时间
(1) time.localtime() 本地时间
(2) time gmtime() UTC世界统-时间
北京时间比时间统-时间UTC早8个小时
import time time_lac = time.localtime() t_UTC = time.gmtime() print("t_local",time_lac) print("t_UTC",t_UTC)
time.ctime() # 返回本地时间字符串
1.2 时间戳和计时器
(1) time.time() 返回自纪元以来的秒數, 记录sleep
(2) time.pert_ counter() 随意选取- 个时间点,记录现在时间到该时间点的间隔秒数,记录sleep
(3) time.process_ time() 随意选取一 个时间点, 记录现在时间到该时间点的间隔秒数,不记录sleep
perf counter)精度较time()更高一些
t_1_start = time.time() t_2_start = time.perf_counter() t_3_start = time.process_time() print(t_1_start) print(t_2_start) print(t_3_start)
1.3 格式化输出
(1) time.strftime 自定义格式化输出
lctime = time.localtime() time.strftime("%Y-%m-%d %A %H:%M:%S",lctime)
1.4 睡觉
time.sleep(1)
睡眠1秒
二、random——处理随机问题的标准库
随机数在计算机应用中十分常见
Python通过random库提供各种伪随机数
基本可以用于除加密解密算法外的大多数工程应用
2.1 随机种子——seed(a=None)
(1)相同种子会产生相同的随机数
(2)如果不设置随机种子,以系统当前时间为默认值
from random import * seed(10) print(random()) seed(10) print(random())
2.2 随机整数
(1)randint(a,b)——产生[a,b]之间随机整数
num = [randint(1,10) for i in range(10)] num
(2)randrange(a)——产生[0,a)之间的随机整数
num = [randrange(10) for i in range(10)] num
(3)randrange(a,b,step)——产生[a,b)之间以step为步长的随机整数
num = [randrange(0,10,2) for i in range(10)] num
2.3 随机浮点数
(1) random()——产生[0.0, 1.0)之间的随机浮点数
num = [random() for i in range(10)] num
(2) uniform(a, b)——产生[a, b]之间的随机浮点数
num = [uniform(1.2,3.5) for i in range(10)] num
2.4 序列用随机函数
(1) choice(seq)——从序列类型中随机返回一个元素
(2) choices(seq,weights=None, k)——对序列类型进行k次重复采样, 可设置权重
(3) shuffle(seq)——将序列类型中元素随机排列, 返回打乱后的序列
(4) sample(pop, k)——从pop类型中随机选取k个元素, 以列表类型返回
2.5 概率分布——高斯分布为例
gauss(mean, std)——生产一个符合高斯分布的随机数
多生成
三、collections——容器数据类型
3.1 namedtuple——具名元组
点的坐标,仅看数据,很难知道表达的是一个点的坐标
构建一个新的元组子类
定义方法如下: typename是元组名字,field_ names 是域名
1.可以调用属性
2.有元组性质
3.是元组的子类
3.2 Counter——计数器工具
1.是字典的子类
2.最常见的统计——most .commom(n)
提供n个频率最高的元素和计数
3.元素展开一elements()
4.其他一-些加减操作