tal*_*ees 4 python function args timeit
我最初为定时函数创建了一个自定义函数,如下所示:
def timefunc(function, *args):
start = time.time()
data = function(*args)
end = time.time()
time_taken = end - start
print "Function: "+function.__name__
print "Time taken:",time_taken
return data
Run Code Online (Sandbox Code Playgroud)
现在,了解了timeit模块后,我想用它来实现相同的功能.在发送函数和*args参数时,我无法弄清楚如何做到这一点.我已经发现我必须在setup arg中执行此操作:
"from __main__ import function"
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何处理*args,因为'stmt'和'setup'参数都是字符串,我怎么能传递变量?
从Python 2.6开始,timeit除了字符串之外的模块也接受可调用的stmt.考虑到这一点,你可以这样做:
import timeit
def timefunc(function, *args):
def wrap():
function(*args)
t = timeit.Timer(wrap)
return t.timeit(100)
def test(arg):
foo = arg
print(timefunc(test, 'bar'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
915 次 |
| 最近记录: |