装饰器基础概念4

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

猜你喜欢

转载自blog.csdn.net/qq_41000421/article/details/84638158