python中time模块与timeit模块

本文介绍了Python中的time和timeit模块。time模块涉及时间戳、时间元组和格式化时间,提供了时间转换和示例代码。timeit模块专注于测量小段代码的执行时间,包括timeit.timeit()、timeit.repeat()函数,以及默认计时器timeit.default_timer()。

参考链接:Python time&timeit 模块

一、time模块

1、三种时间表现形式

timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。

struct_time: 时间元组,共有九个元素组。

format time: 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。场指时间格式字符串

2、时间转换图

3、示例代码

import time
'''
三种格式:
时间戳timestape
时间元组struct_time
格式化时间format_time(包括自定义格式与固定格式)
'''


#1.时间戳为一个float格式数字
a1=time.time()
print('当前时间戳为:',a1)    
print(type(a1))

#2.直接获取当前时间戳的struct_time格式
a2=time.localtime()  
print('')              
print('当前时间(戳)的struct_time格式',a2)
#time.struct_time(tm_year=2019, tm_mon=1, tm_mday=24, tm_hour=4, tm_min=16, 
tm_sec=28, tm_wday=3, tm_yday=24, tm_isdst=0)

#3.时间戳转为struct_time    ,结果同上 
a3=time.gmtime(a1)         
print('') 
print('时间戳转为struct_time',a3)

#4.struct_time转为时间戳
a4=time.mktime(a2)
print('')
print(a4)

#5.当前时间的字符串str格式  Thu Jan 24 12:16:28 2019   是一种固定的格式化时间
a5=time.ctime()   
print('')                 
print(a5)


#6.当前时间的struct_time转为特定格式化时间
a6=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())  
print('')  
print('当前时间转为特定格式化时间',a6)

#7.将特定格式化时间转为struct_time
a7=time.strptime('2019-01-24 15:28:03',"%Y-%m-%d %H:%M:%S")
print('')  
print('特定格式化时间转为stuct_time:',a7)


补充:time.clock()
在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。
而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用
是自第一次调用以后到现在的运行时间。
start = time.clock()
test()  
finish = time.clock()
fps = N / (finish - start)  # N 为图片数 

二、timeit 模块

特点:准确测量小段代码的执行时间

timeit 模块中的三个函数:

  • timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000):创建一个Timer实例,参数分别是stmt(需要测量的语句或函数),setup(初始化代码或构建环境的导入语句),timer(计时函数),number(每一次测量中语句被执行的次数)
  • timeit.repeat(stmt='pass', setup='pass', timer=<default timer>, repeat=3, number=1000000):创建一个Timer实例,指定整个试验的重复次数,返回一个包含了每次试验的执行时间的列表,利用这一函数可以很方便得实现多次试验取平均的方法。
  • timeit.default_timer():默认的计时器,一般是time.perf_counter(),time.perf_counter()方法能够在任一平台提供最高精度的计时器(它也只是记录了自然时间,记录自然时间会被很多其他因素影响,例如计算机的负载)

示例代码

from timeit import default_timer as timer

start=timer()
...
...
end=timer()
print('程序历时:',end-start)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值