import time
import functools
def clock1(func):
@functools.wraps(func)
def clocked(*args,**kwargs):
t0=time.time()
result =func(*args,**kwargs)
elapsed =time.time()-t0
name =func.__name__
arg_list =[]
if args :
arg_list.append(','.join(repr(arg) for arg in args))
if kwargs:
pairs = ['%s=%r'%(k,w) for k,w in sorted(kwargs.items())]
arg_list.append(', '.join(pairs))
arg_str =', '.join(arg_list)
print('[%0.8fs]%s(%s) ->%r' %(elapsed,name,arg_str,result))
return result
return clocked
@clock1
def simple(*args,**kwargs):
print('124')
return args,kwargs
if __name__ =='__main__':
simple(789,a=5,b=111)
124
[0.00001216s]simple(789, a=5, b=111) ->{'a': 5, 'b': 111}
Process finished with exit code 0
装饰器基础概念4
最新推荐文章于 2022-07-04 18:42:24 发布