首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用time.process_time()

使用time.process_time()
EN

Stack Overflow用户
提问于 2017-12-01 18:35:48
回答 1查看 13.3K关注 0票数 5

我正在试图确定一个排序函数需要多长时间,但我很难让time.process_time()工作。

我目前的设置是:

代码语言:javascript
运行
复制
start = time.process_time()
insertionsort(n)
end = time.process_time()

time = start-end

当我运行这个程序时,我得到了这个错误:

‘浮点’对象没有属性'process_time‘

我该如何解决这个问题?我想使用time.process_time()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-01 19:14:36

问题在于您没有显示的代码的一部分。我假设您在开始时导入了time模块:

代码语言:javascript
运行
复制
import time

它创建引用time模块的名称time

但是稍后您将创建一个名为time的变量来存储时间差。此时,名称time引用的是差异,而不是模块。因此,当您尝试使用time.process_time()之后,您将得到错误。

这个简单的片段说明了这个问题:

代码语言:javascript
运行
复制
>>> import time
>>> time = -(time.process_time() - time.process_time())
>>> time.process_time()
AttributeError: 'float' object has no attribute 'process_time'

如果坚持使用time.process_time(),最好的方法是重命名存储时差的变量:

代码语言:javascript
运行
复制
measured_execution_time_insertionsort = end - start

但是您也可以直接从process_time模块导入time函数:

代码语言:javascript
运行
复制
from time import process_time

start = process_time()
insertionsort(n)
end = process_time()

time = end - start

这两种方法都避免了名称冲突。但是,我建议您使用timeit模块,如果您想测量执行次数,它比time模块更适合执行这种任务。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47599527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档