Python 时间问题
我正在尝试使用 timeit 模块,但我不知道如何使用。 我有一个 main:
from Foo import Foo
if __name__ == '__main__':
...
foo = Foo(arg1, arg2)
t = Timer("foo.runAlgorithm()")
print t.timeit(2)
并且我的 Foo 类有一个名为 runAlgorithm() 的方法,
错误是这样的:
NameError:全局名称“foo”未定义
我做错了什么? 我可以从类方法中抽出时间吗?
I'm trying to use the timeit module but I don't know how.
I have a main:
from Foo import Foo
if __name__ == '__main__':
...
foo = Foo(arg1, arg2)
t = Timer("foo.runAlgorithm()")
print t.timeit(2)
and my Class Foo has a method named as runAlgorithm()
the error is this:
NameError: global name 'foo' is not defined
What am I doing wrong?
Can I take the time from a class method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
而不是使用必要的
setup
参数设置 timeit 环境,您可以简单地传递方法(或任何可调用的内容):来自文档:
如果需要传递一些参数,可以使用
functools 进行函数柯里化。部分
,例如:Instead of using the necessary
setup
parameter for setting up the timeit environment, you can simply pass the method (or anything that is callable):From the documentation:
If you need to pass some arguments, you can use function currying with
functools.partial
, for example:正如文档示例所示,您需要传递
setup
语句:as docs example show you need to pass
setup
statements: