深度之眼(十七)——Python标准库(上)

简介: 深度之眼(十七)——Python标准库(上)

导读


0a2653c851af460fa595bd959398a8f1.png


本次知识点,很像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)


0a2653c851af460fa595bd959398a8f1.png


time.ctime() # 返回本地时间字符串


2d65d23f6d4748949b924e4057485923.png


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)

0a2653c851af460fa595bd959398a8f1.png


1.3 格式化输出


(1) time.strftime 自定义格式化输出


lctime = time.localtime()
time.strftime("%Y-%m-%d %A %H:%M:%S",lctime)


2d65d23f6d4748949b924e4057485923.png


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())

0a2653c851af460fa595bd959398a8f1.png


2.2 随机整数


(1)randint(a,b)——产生[a,b]之间随机整数


num = [randint(1,10) for i in range(10)]
num


0a2653c851af460fa595bd959398a8f1.png


(2)randrange(a)——产生[0,a)之间的随机整数


num = [randrange(10) for i in range(10)]
num


2d65d23f6d4748949b924e4057485923.png


(3)randrange(a,b,step)——产生[a,b)之间以step为步长的随机整数


num = [randrange(0,10,2) for i in range(10)]
num


2e9b90b2ca334476abebe75bafe6eeaa.png


2.3 随机浮点数


(1) random()——产生[0.0, 1.0)之间的随机浮点数


num = [random() for i in range(10)]
num


0a2653c851af460fa595bd959398a8f1.png


(2) uniform(a, b)——产生[a, b]之间的随机浮点数


num = [uniform(1.2,3.5) for i in range(10)]
num


2d65d23f6d4748949b924e4057485923.png


2.4 序列用随机函数


(1) choice(seq)——从序列类型中随机返回一个元素


0a2653c851af460fa595bd959398a8f1.png


(2) choices(seq,weights=None, k)——对序列类型进行k次重复采样, 可设置权重


2d65d23f6d4748949b924e4057485923.png


(3) shuffle(seq)——将序列类型中元素随机排列, 返回打乱后的序列


2e9b90b2ca334476abebe75bafe6eeaa.png


(4) sample(pop, k)——从pop类型中随机选取k个元素, 以列表类型返回


4cebaac233b3433da32a72337a77fc60.png


2.5 概率分布——高斯分布为例


gauss(mean, std)——生产一个符合高斯分布的随机数


0a2653c851af460fa595bd959398a8f1.png


多生成


2d65d23f6d4748949b924e4057485923.png


三、collections——容器数据类型


3.1 namedtuple——具名元组


点的坐标,仅看数据,很难知道表达的是一个点的坐标

构建一个新的元组子类

定义方法如下: typename是元组名字,field_ names 是域名

0a2653c851af460fa595bd959398a8f1.png


1.可以调用属性

2.有元组性质

3.是元组的子类


3.2 Counter——计数器工具


2d65d23f6d4748949b924e4057485923.png

1.是字典的子类

2.最常见的统计——most .commom(n)

提供n个频率最高的元素和计数

3.元素展开一elements()

4.其他一-些加减操作

0a2653c851af460fa595bd959398a8f1.png

2d65d23f6d4748949b924e4057485923.png


相关文章
|
7天前
|
Python
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
20 1
|
6天前
|
安全 程序员 API
几个被淘汰的Python库,请不要再用!
几个被淘汰的Python库,请不要再用!
18 0
|
2天前
|
存储 JSON API
Pydantic:目前最流行的Python数据验证库
在处理来自系统外部的数据,如API、终端用户输入或其他来源时,我们必须牢记开发中的一条基本原则:“永远不要相信用户的输入”。 因此,我们必须对这些数据进行严格的检查和验证,确保它们被适当地格式化和标准化。这样做的目的是为了确保这些数据符合我们的程序所需的输入规范,从而保障项目能够正确且高效地运行。
|
4天前
|
存储 缓存 索引
Python中的NumPy库详解
Python中的NumPy库详解
|
6天前
|
XML 自然语言处理 关系型数据库
CasADi - 最优控制开源 Python/MATLAB 库4
CasADi - 最优控制开源 Python/MATLAB 库
18 4
|
6天前
|
Linux API C++
CasADi - 最优控制开源 Python/MATLAB 库3
CasADi - 最优控制开源 Python/MATLAB 库
21 4
|
6天前
|
算法 数据可视化 机器人
Pinocchio - 开源多刚体动力学 C++、Python库
Pinocchio - 开源多刚体动力学 C++、Python库
10 2
|
6天前
|
存储 网络协议 Python
Python如何用PyModbus库进行Modbus TCP通信
使用python解决工业通信问题是一个非常好的选择,python具有丰富的生态,可以轻松解决工业通信的各种问题。 本篇主要介绍使用pymodbus库进行modbus tcp仿真,实现pc端读取plc或工业设备modbus变量。
|
6天前
|
自然语言处理 算法 API
CasADi - 最优控制开源 Python/MATLAB 库2
CasADi - 最优控制开源 Python/MATLAB 库
11 0
|
6天前
|
存储 API C++
CasADi - 最优控制开源 Python/MATLAB 库1
CasADi - 最优控制开源 Python/MATLAB 库
12 0