Python学习-8.1.1 标准库(time库的基础与实例)
创始人
2024-03-25 19:11:44
0

2.1 time库

time库是Python提供的处理时间标准库。time库提供系统级精确计时器的计时功能,可以用来分析程序性能,也可以让程序暂停运行时间。
在这里插入图片描述
2.1.1 时间处理函数
在这里插入图片描述

  • time.time()函数:获取当前时间戳。 代表着如今的时间与1970年1月1日0分0秒的时间差(以秒为单位);1970年是计算机元年。
    time()函数可以用于获取程序运行时间。
import time
first_time=time.time()#获取初始时间
#程序运行
a=0
for i in range(10000000):a+=1
#程序结束
last_time=time.time()#获取结束时间
print(last_time-first_time,'秒')
--输出
1.4615564346313477 秒#计算机运行一千万次运算只需要1.5秒
  • time.gmtime():获取当前时间戳对应的struct_time对象,为世界统一时间,而非北京时间。
import time
print(time.gmtime())
--输出
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=2, tm_hour=2, tm_min=20, tm_sec=13, tm_wday=4, tm_yday=336, tm_isdst=0)
  • time.gmtime():获取当前时间戳对应的struct_time对象,为本地时间。
import time
print(time.gmtime())
--输出
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=2, tm_hour=10, tm_min=20, tm_sec=13, tm_wday=4, tm_yday=336, tm_isdst=0)
#其中的wday为4,代表程序运行时为周五,原因是计算机输出为0-6,对应周一到周日
#tm_day为336代表今日为本年第336天
  • time.ctime():获取当前时间戳对应的易读字符串表示,内部会调用time.localtime()函数以输出当地时间。
import time
print(time.ctime())
--输出
Fri Dec  2 10:24:58 2022
  • struct_time对象

在这里插入图片描述

2.1.2 时间格式化
在这里插入图片描述

  • time.mktime(t)函数:可以将struct_time对象t转换为时间戳,因此mktine()函数可以说是gmtime()和localtime()的反函数
import time
print(time.mktime(time.gmtime()))
print(time.mktime(time.localtime()))
--输出
1669919649.0
1669948449.0
  • time.strftime(t)函数:t为struct_time对象,该函数是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。该方法利用一个格式字符串,对时间格式进行表达。
    在这里插入图片描述
import time
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))#可以拼接组合输出的形式
--输出
2022-12-02 10:42:13

time.strptime(str1,str2)函数:与strftime()函数完全相反,用于提取字符串中的时间来生成struct_time对象,可以很灵活的作为time模块的输入接口
其中str1为字符串格式的时间,str2对应str1的格式,按照格式识别struct_time的元素。

import time
print(time.strptime("2022-12-02 10:42:13","%Y-%m-%d %H:%M:%S"))
--输出
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=2, tm_hour=10, tm_min=42, tm_sec=13, tm_wday=4, tm_yday=336, tm_isdst=-1)

2.1.3 程序计时
在这里插入图片描述

  • time.sleep()函数:推迟调用线程的时间,可通过参数secs(指秒数),表示进程挂起的时间。
    sleep函数多会应用于多线程程序中。
import time
first_time=time.time()
last_time=time.time()
print(last_time-first_time)
--输出
0.0#程序运行耗时不到0.1s#加上睡眠时间
import time
first_time=time.time()
time.sleep(2)
last_time=time.time()
print(last_time-first_time)
--输出
2.0001230239868164#程序耗时加上了2s睡眠时间
  • time.perf_counter()函数:返回一个性能计数器的值(在分秒内),即一个具有最高可用分辨率的时钟,可以测量非常短的时间。
    perf_counter()函数作用和time()函数类似,但是精度要高于time()函数。
import time
#使用time()函数计时
b1=time.time()
b2=time.time()
print(b2-b1)
#使用perf_counter()函数计时
a1=time.perf_counter()
a2=time.perf_counter()
print(a2-a1)
--输出
0.0
2.00001522898674e-07#可以看到perf_counter()函数的精度远高于time函数#当加上睡眠时间时,time函数的精度和perf_counter()函数类似
import time
b1=time.time()
a1=time.perf_counter()
time.sleep(2)#运行两秒睡眠
a2=time.perf_counter()
b2=time.time()
print(b2-b1)
print(a2-a1)
--输出
2.0002999305725098
2.0003594998270273

perf_counter()函数包括了在睡眠期间的时间,并且是系统范围的。返回值的引用点是未定义的,因此只有连续调用的结果之间的差异是有效的。

2.1.4 综合练习—程序进度条

import time
#模拟进度条显示
scale=50
print("------------程序开始执行")
start_time=time.perf_counter()
for i in range(scale+1):a="*"*ib="."*(scale-i)c=(i/scale)*100dur=time.perf_counter()-start_timeprint("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")time.sleep(0.1)print("\n------------程序执行结束")#增加/n保证输出时换行

其中:
①使用\r表示将光标的位置退回本行的开头,end=""则表示不换行,两者结合保证输出一直只有一行
②{:3.0f}中代表居中,3代表长度为3,.0代表精度为小数点0位,f为浮点型

输出效果:
运行过程中:在这里插入图片描述
运行结束:在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...