Time 库 和 Random库

time库包含三类时间函数

1. 时间获取 : time.time() , time.ctime(), time.localtime() , time.gmtime()

2. 时间格式化 : time.strftime() ,time.strptime()  互补关系

3. 程序计时 :  time.sleep(),time.per_counter()

时间获取

time.time()  获取的是浮点数 ,以秒为单位,从1970年到现在累计的总秒数

time.ctime() 获取的是字符串 ,程序员能够理解的格式

time.localtime() 获取struct_time 格式 的中国时间

time.gmtime() 获取的是格林威治时间,生成计算机可以处理的时间格式,这种格式我们叫它 struct_time 格式

输出结果如下:

补充:time.localtime()输出的也是struct_time格式,与time.gmtime()类似

区别在于  它们的tm_hour 不同 ,一个是格林威治时间,一个是当地时间(中国) ,

GMT是格林威治标准时间的英文缩写,是国际标准时间

local.time 是当地时间,中国在东八区,比国际标准时间早8小时,即GMT+8

时间格式化

strftime (tpl,ts)  将struct_time 格式时间转换为方便读取的时间

带有两个参数  tpl:展示模板,定义要输出的效果   ts:计算机内部时间类型变量 

举个例子:
t = time.localtime()

time.strftime("%Y-%m-%d %H:%M:%S",t)

输出结果为:2021-04-10 10:48:37


strptime() 将一段时间字符串转换为struct_time  格式

举个例子:

timestr = "2021-04-10 10:48:37"

time.strptime(timestr,"%Y-%m-%d %H:%M:%S")

输出结果为:time.struct_time(tm_year=2021, tm_mon=4, tm_mday=10, tm_hour=10, tm_min=48, tm_sec=37, tm_wday=5, tm_yday=100, tm_isdst=-1)

记忆法:

strftime: str  format time

strptime: str parser time

程序计时

测量的是起止动作所经历时间的过程 简单来说 就是一段程序从开始运行到结束 它经历了多少时间。包括 

测量时间: perf_counter() : 返回一个CPU级别的精确时间计数值,单位秒  ,它不是从零开始计算的,所以一次调用没有意义  需要连续调用 计算差值才能体现价值

产生时间: time.sleep(3) :  让程序休眠3秒 可以是浮点数

Random常用的两个函数

Python中的随机数使用随机数种子产生

随机数种子: 随机数种子确定了随机序列的产生。只要种子相同,产生的随机序列,无论是每一个数,还是树之间的关系都是确定的

random.seed()  #  初始化给定的随机数种子,默认为当前系统时间

random.random() # 产生0~1之间的小数

random.randint(a,b) # 生成a ,b 之间的随机整数

random.uniform(10,100)# 生成a,b之间的随机小数

random.choice(seq) # 从序列seq中随机选中一个元素random.choice([0,1,2,3,4,5,6,7,8])

random.shuffle(seq) # 返回打乱后的序列

为什么要给种子?

如果你编程中给出了随机种子,那么下一次程序再次运行,只要种子相同,那么产生的随机数也是相同的。对于使用随机数的程序,我们可以复现或者再现你程序运行的过程。

如果不使用随机数种子,那么它使用的是当前系统时间,而那个时间是精确到微秒的,这个时间是我们很难再现的,所以后面产生的程序运行的结果,就是完全随机,是我们认为不可再现的。

所以看我们的程序需求,如果我们需要再现随机过程,那么我们就设定种子,如果说只是用随机数,不关心程序别人复现的结果 ,那我就可以不设定种子。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在Python中,通常有这几种方式来表示时间: 1,时间戳(timestamp):通常来说,时间戳表示的是从197...
    MR_LiY阅读 1,966评论 0 1
  • 在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解t...
    linco159阅读 610评论 0 0
  • 开始之前,首先要说明这几点: 1.在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串...
    TENG书阅读 477评论 0 0
  • 1、os 模块 OS 模块(operating system),意为操作系统,是 python 处理文件系统的常用...
    焰火青春阅读 673评论 0 0
  • 在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime...
    小猿圈IT教育阅读 164评论 0 0

友情链接更多精彩内容