代码1:

#-*-coding:utf8-*- 

 import time 

 print "clock1:%s" % time.clock() 

 print "clock2:%s" % time.clock() 

 time.sleep(1) 
print "clock3:%s" % time.clock()

运行结果:

clock1:0.0
clock2:0.0
clock3:0.0


代码2:

import time
 print "clock1:%s" % time.clock()
 for i in xrange(50000000):
     pass
 print "clock2:%s" % time.clock()
 time.sleep(1)
 print "clock3:%s" % time.clock()

运行结果:

clock1:0.0
clock2:3.93
clock3:3.93                        


原因解释:

time.clock()是记录程序cpu的运行时间,代码1几乎不占cpu时间,所以是都是0;而代码2 for循环会占用cpu时间,所以clock2:3.93。

不过还有个疑问,为什么time.sleep()不算做运行时间呢。


以下是参考某博主的回复:

time.clock()是返回CPU时间或
线程自启动以来或从第一次调用clock()到现在的时间。

一般来讲测试程序耗时这个是最准确的


知道这个是做什么的就应该知道了它的初始值确实是0,
当运行程序开始开始计数为0,一直记录程序运行的cpu执行时间。


所以,一般来讲,如果你time.clock()之前没有执行什么耗费CPU时间的程序,那么time.clock()就为0