包含python中计时函数的词条

python怎么计时

定义在默认的计时器中,针对不同平台采用不同方式。在Windows上,time.clock()具有微秒精度,但是time.time()精度是1/60s。在Unix上,time.clock()有1/100s精度,而且time.time()精度远远更高。在另外的平台上,default_timer()测量的是墙上时钟时间,不是CPU时间。这意味着同一计算机的其他进程可能影响计时

创新互联基于分布式IDC数据中心构建的平台为众多户提供遂宁服务器托管 四川大带宽租用 成都机柜租用 成都服务器租用。

版权声明:

def clock(func):

def clocked(*args, **kwargs):

t0 = timeit.default_timer()

result = func(*args, **kwargs)

elapsed = timeit.default_timer() - t0

name = func.__name__

arg_str = ', '.join(repr(arg) for arg in args)

print('[%0.8fs] %s(%s) - %r' % (elapsed, name, arg_str, result))

return result

return clocked

@clock

def run(seconds):

time.sleep(seconds)

return time

if __name__ == '__main__':

run(1)

本文为CSDN博主「FlyingPie」的原创文章,遵循CC 4.0 BY-SA版权协议,附上原文出处链接及声明。

原文链接:

参考资料:CSDN。

python怎么写计时器用面向对象和多向进程

timeit

通常在一段程序的前后都用上time.time(),然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:timeit

#导入timeit.timeitfrom timeit import timeit  

#看执行1000000次x=1的时间:timeit('x=1')#看x=1的执行时间,执行1次(number可以省略,默认值为1000000):timeit('x=1', number=1)#看一个列表生成器的执行时间,执行1次:timeit('[i for i in range(10000)]', number=1)#看一个列表生成器的执行时间,执行10000次:timeit('[i for i in range(100) if i%2==0]', number=10000)

测试一个函数的执行时间:

from timeit import timeitdef func():

s = 0

for i in range(1000):

 s += i    print(s)# timeit(函数名_字符串,运行环境_字符串,number=运行次数)t = timeit('func()', 'from __main__ import func', number=1000)print(t)

此程序测试函数运行1000次的执行时间

repeat:

由于电脑永远都有其他程序也在占用着资源,你的程序不可能最高效的执行。所以一般都会进行多次试验,取最少的执行时间为真正的执行时间。

from timeit import repeatdef func():

s = 0

for i in range(1000):

 s += i#repeat和timeit用法相似,多了一个repeat参数,表示重复测试的次数(可以不写,默认值为3.),返回值为一个时间的列表。t = repeat('func()', 'from __main__ import func', number=100, repeat=5)print(t)

print(min(t))

python中的time模块

time模块是python专门用来处理时间的内建库。

下面我们来记录一些基本使用方法。

ps: 用到了一些概念,比如unix时间戳,感兴趣的同学自行百度。

下文参考他人博客内容, 传送门

time.time()函数获取的是Unix时间戳。

返回的是一个float类型的数值。

在python中的time模块中定义了一个叫struct_time的元组,是用来构建时间对象的。

struct_time元组共9个元素组成,如下图:

这个函数可以接受一个unix时间戳,然后转换为struct_time。

如果不传入second参数,则会返回当前时间的时间戳的struct_time对象

再试试传入当前时间的时间戳,是否能得到上面的struct_time呢?

和我们预期的结果一致。

和localtime函数类似,默认情况gmtime函数获取当前时间的utc时间。

返回当前时间的utc时间的struct_time对象。

也可以传入任意的unix时间戳,来得到utc时间。

将一个时间戳struct_time对象转换为时间戳。

传入一个struct_time对象,返回"Sun Jun 20 23:21:05 1993"这种格式的字符串。不传参数,返回当前时间的这种格式的字符串。

传入格式和struct_time,返回按照format格式格式化后的时间字符串。

格式占位符可以参考下图:

将字符串时间转为struct_time,time.strftime()的逆向操作。

python怎么对列表操作计时

python对列表计时的方法:

使用“import”语句导入time包,在列表操作之前用time.time函数获取当前时间,在列表操作之后,再用time.time获取当前时间,用第二次的时间减去第一次的时间就可以了

示例如下:

执行结果如下:

更多Python知识,请关注:Python自学网!!

python计时器问题?

import time

print('按下回车开始计时,按下 Ctrl + C 暂停/停止计时。')

while True:

input("")

starttime = time.time()

print('开始')

pausetime=0

while True:

try:

totaltime=int((time.time()-pausetime-starttime))

print('【'+str(int((time.time()-pausetime-starttime)*0.66)),'进度】',int((time.time()-pausetime-starttime)/60),'分', int((time.time()-pausetime-starttime)%60), '秒',end='\r')

time.sleep(1)

except KeyboardInterrupt:

print('【' + str(int((time.time() -pausetime- starttime) * 0.66)), '进度】', int((time.time()-pausetime - starttime) / 60), '分',

int((time.time() -pausetime- starttime) % 60), '秒', '...暂停中\r\n按回车继续,输入Q停止计时',end='\r')             pausetime_start=time.time()

s=input("")

if s.strip().upper()=='Q':

pausetime_end = time.time()

pausetime = pausetime_end - pausetime_start + pausetime

print('结束')

endtime = time.time()

print('总时间:', round(endtime - pausetime - starttime, 2), '秒 ')

exit(0)

elif s.strip().upper()=='':

pausetime_end=time.time()

pausetime=pausetime_end-pausetime_start+pausetime

python如何实现计时?

用python实现计时器功能,代码如下:

''' Simple Timing Function.

This function prints out a message with the elapsed time from the

previous call. It works with most Python 2.x platforms. The function

uses a simple trick to store a persistent variable (clock) without

using a global variable.

'''

import time

def dur( op=None, clock=[time.time()] ):

if op != None:

duration = time.time() - clock[0]

print '%s finished. Duration %.6f seconds.' % (op, duration)

clock[0] = time.time()

# Example

if __name__ == '__main__':

import array

dur() # Initialise the timing clock

opt1 = array.array('H')

for i in range(1000):

for n in range(1000):

opt1.append(n)

dur('Array from append')

opt2 = array.array('H')

seq = range(1000)

for i in range(1000):

opt2.extend(seq)

dur('Array from list extend')

opt3 = array.array('H')

seq = array.array('H', range(1000))

for i in range(1000):

opt3.extend(seq)

dur('Array from array extend')

# Output:

# Array from append finished. Duration 0.175320 seconds.

# Array from list extend finished. Duration 0.068974 seconds.

# Array from array extend finished. Duration 0.001394 seconds.


名称栏目:包含python中计时函数的词条
分享链接:http://scyanting.com/article/hscgps.html