我正在试图确定一个排序函数需要多长时间,但我很难让time.process_time()工作。
我目前的设置是:
start = time.process_time()
insertionsort(n)
end = time.process_time()
time = start-end当我运行这个程序时,我得到了这个错误:
‘浮点’对象没有属性'process_time‘
我该如何解决这个问题?我想使用time.process_time()。
发布于 2017-12-01 19:14:36
问题在于您没有显示的代码的一部分。我假设您在开始时导入了time模块:
import time它创建引用time模块的名称time。
但是稍后您将创建一个名为time的变量来存储时间差。此时,名称time引用的是差异,而不是模块。因此,当您尝试使用time.process_time()之后,您将得到错误。
这个简单的片段说明了这个问题:
>>> import time
>>> time = -(time.process_time() - time.process_time())
>>> time.process_time()
AttributeError: 'float' object has no attribute 'process_time'如果坚持使用time.process_time(),最好的方法是重命名存储时差的变量:
measured_execution_time_insertionsort = end - start但是您也可以直接从process_time模块导入time函数:
from time import process_time
start = process_time()
insertionsort(n)
end = process_time()
time = end - start这两种方法都避免了名称冲突。但是,我建议您使用timeit模块,如果您想测量执行次数,它比time模块更适合执行这种任务。
https://stackoverflow.com/questions/47599527
复制相似问题