我想要一个简单的方法来插入一个稍后要执行的函数和参数,这样我就可以有一种包装器。
在这种情况下,我想用它来进行基准测试,例如:
def timefunc(fn, *args):
start = time.clock()
fn(args)
stop = time.clock()
return stop - start
如何传递参数数量未知的参数?如何找到参数个数?一旦我知道了参数的数量,我怎么能调用这个函数?
答案 0 :(得分:7)
只需调用这个函数:
fn(*args)
答案 1 :(得分:1)
MatrixFrog的答案是正确的,但只是为了完成图片。要找出参数的数量,只需调用len
,因为args
是一个元组:
import time
def timefunc(fn, *args):
start = time.clock()
print len(args), type(args)
fn(*args)
stop = time.clock()
return stop - start
def myfoo(a, b):
c = a + b
return c
timefunc(myfoo, 5, 6)
timefunc中的print语句打印:
2 <type 'tuple'>
由于args
是元组,因此您可以像任何其他元组一样访问它。