Python标准库 —— time、random

 
 
 
 
 
 
 
 

time库

用途函数
时间获取time()、gmtime()、ctime()、asctime()、localtime()、mktime()
时间格式化strftime()、strptime()
程序计时clock()、monotonic()、perf_counter()、process_time()、sleep()
辅助函数get_clock_info()

 
 
 
 

time.time()

作用:返回一个时间戳(从1970年开始至今的流逝的秒数,浮点型)

例:
在这里插入图片描述

 
 
 
 

time.gmtime([para])

作用:返回一个UTC的struct_time对象

para是一个时间戳,如果不传入则生成当前计算机时间的struct_time对象

例:
在这里插入图片描述

 
 
 
 

struct_time对象

实例化方法:time.gmtime()

timeObj = time.gmtime()

在这里插入图片描述

属性:

索引值属性名取值范围
0tm_year四位整数
1tm_mon[1, 12]
2tm_mday[1, 31]
3tm_hour[0, 23]
4tm_min[0, 59]
5tm_sec[0, 61],60仅用于调时
6tm_wday[0, 6], 周一为0
7tm_yday[1, 366]
8tm_isdst0 - DST、1 - 非DST、-1 - 随系统
tm_zone时区缩写
tm_gmtoff与UTC时间相差的秒数

 
 
 
 

time.localtime([para])

作用:返回一个本地的struct_time对象

para:同time.gmtime()

二者对比:

import time

print(time.gmtime())
print(time.localtime())

当前时间是2020-05-10 09:11
在这里插入图片描述

 
 
 
 

time.asctime([para])

作用:返回一个本地的时间的字符串形式

para:接收struct_time类型的参数

例:

在这里插入图片描述

 
 
 
 

time.ctime([para])

作用:返回一个本地的时间的字符串形式

para:接收时间戳(time stamp)类型的参数

例:
在这里插入图片描述

 
 
 
 

time.strftime()、time.strptime()

作用:对字符串进行格式化

struct_time --> (time.strftime()) --> 字符串时间

字符串时间 --> (time.strptime()) --> struct_time

 
 
 
 

time.strftime(tpl, struct_time)

参数:

  • tpl —— 输出字符串时间的模板
  • struct_time —— 略

例:

在这里插入图片描述

 
 
 
 

时间的模板字符串

模板含义值域
%Y[0000, 9999] ,四位整数
%m[01, 12], 两位整数
%d日_月内[01, 31]
%H时_24h[00, 23]
%M[00, 59]
%S[00, 59]
%y[00, 99],不带世纪的年份
%B月名如:“November”
%b月名缩写如:“Nov”
%A星期如:“Monday”
%a星期缩写如:“Mon”
%j日_年内[001, 366]
%w日_周内[0, 6], 0–周日
%I时_12h[01, 12]
%Z时区:“中国标准时间”
%p上午/下午AM, PM
%%%号%

 
 
 
 

time.strptime(str, tml)

参数:

  • str —— 字符串形式的时间
  • tpl —— 输出字符串时间的模板

例:
在这里插入图片描述

 
 
 
 

time模块的计时问题

时钟名称对应函数说明
clocktime.clock()计时时钟
monotonictime.monotonic()单调计时时钟,不可更改,时间差有意义
perf_countertime.perf_counter()精确计时时钟,含起始和终止的所有时间。调用cpu的计时函数
process_timetime.process_time()进程计时时钟,不含进程sleep()时间。专门用于对进程计时
timetime.time()系统计时时钟,精度不高

 
 
 
 

小结

1、将时间戳(time stamp)转换为struct_time对象:
1)、转换为UTC时间的struct_time对象:time.gmtime(time stamp)
2)、转换为当地时间的struct_time对象:time.localtime(time stamp)

 

2、将struct_time对象转换为浮点数:time.mktime(timeObj)

 

3、几个函数的概括:
time.time() —— 产生时间戳
time.mktime() —— 将struct_time对象转化为时间戳
time.gmtime() —— 产生UTC的struct_time对象
time.localtime() —— 产生当前地区的struct_time对象
time.asctime() —— 产生当前地区的字符串形式时间,可接收struct_time对象作为参数
time.ctime() —— 产生当前地区的字符串形式时间,可接收时间戳(time stamp)作为参数

 
 
 
 
 
 
 
 

random库

用途函数
基本随机函数seed()、random()、getstate()、setstate()
扩展随机函数randint()、getrandbits()、randrange()、choice()、shuffle()、sample()
分布随机函数uniform()、traingular()、betavariate()、expovariate()、gammavariate()、gauss()、lognormvariate()、normalvariate()、vonmisesvariate()、paretovariate()、weibullvariate()

random库产生随机数的原理:使用梅森旋转算法通过随机数种子产生随机数

 
 
 
 

random.seed()

作用:初始化随机数种子,默认是系统的当前时间

用法:random.seed(10)

 
 
 
 

random.randint(a, b)

作用:生成随机整数,取值范围 [a, b]

用法:random.randint(1, 100),生成随机数范围 [1, 100]

 
 
 
 

random.randrange(a, b [, step])

作用:生成随机整数,取值范围 [a, b),数值步长为k。随机步长的含义,在[a, b)的范围内,每隔k个值取一个数字作为随机成员。

用法:random.randrange(10, 100, 20),生成随机数可能的取值[10, 20, 30, 40, …, 90]

例如:
在这里插入图片描述

 
 
 
 

random.choice(seq)

作用:从序列seq中随机选择一个元素

用法:random.choice([1, 2, 3, 4, 5])

例如:
在这里插入图片描述
 
 
 
 

random.shuffle(seq)

作用:将序列seq随机重新排列,更改原序列

用法:random.shuffle([1, 2, 3, 4, 5])

例如:
在这里插入图片描述

 
 
 
 

random.sample(seq, k)

作用:从序列seq中随机选个k个元素,组成新序列,原序列不变

例如:
在这里插入图片描述

 
 
 
 

分布函数中的取值

 
 
 
 

random.uniform(a, b)

作用:等概率的生成[a, b]之间的随机小数

 
 
 
 

random.betavariate(alpha, beta)

作用:采用beta分布,生成[0, 1]之间的随机小数

 
 
 
 

random.traingular(low , high, mode)

作用:采用三角分布(辛普森分布),生成[low, high]之间的随机小数

 
 
 
 

random.expovariate(lambda)

作用:采用指数分布,生成[0, ∞]之间的随机整数

 
 
 
 

random.gammavariate(alpha, beta)

作用:采用gamma分布,生成随机小数

 
 
 
 

random.gauss(mu, sigma)

作用:采用高斯分布(正态分布),生成随机小数

 
 
 
 

random.lognormvariate(mu, sigma)

作用:采用对数正态分布,生成随机小数

 
 
 
 

random.normalvariate(mu, sigma)

作用:采用正态分布,生成随机小数

 
 
 
 

random.vonmisesvariate(mu, kappa)

作用:采用冯米塞斯分布,生成随机小数

 
 
 
 

random.paretovariate(alpha)

作用:采用帕累托分布,生成随机小数

 
 
 
 

random.weibullvariate(alpha, beta)

作用:采用韦伯分布,生成随机小数

posted @ 2022-06-05 20:49  阿伦alun  阅读(86)  评论(0编辑  收藏  举报