我有一个名为 prepare.py 的模块,它验证传递给函数的参数,如果它不存在,而不是使用预稳定值作为关键字参数,它将参数作为对象的属性进行搜索。代码如下:
def prep(argslist, argsprovided, attributes):
argsout = []
for name in argslist:
if name in argsprovided:
argsout.append(argsprovided[name])
else:
argsout.append(getattr(attributes,name))
return argsout
这个的简单用法是:
import preparation as prep
class example(object):
def __init__(self,x,y):
self.x = x
self.y = y
E = example(1,1)
def foo(**kwargs):
[x,y] = prep.prep(['x','y'],kwargs,E)
return x + y
print( foo())
print( foo(x = 2))
由于我的代码中几乎每个函数都会在每次调用时都进行检查,因此我想知道花在它上面的时间是否相当可观。调用此模块的单次时间无法使用time.time()
方法进行测量,因此我无法对一堆较小的时间间隔求和。有没有办法做到这一点?