python个人学习——装饰器

请设计一个decorator,它可作用于任何函数上,并打印该函数的执行时间:

代码:

import functools,time

def metric(func):

def wrapper(*args, **kw):

print('%s executed in %s ms' % (func.__name__, func))

return func(*args, **kw)

return wrapper


@metric

def fast(x, y):

time.sleep(0.0012)

return x + y;

@metric

def slow(x, y, z):

time.sleep(0.1234)

return x * y * z;

f = fast(11, 22)

s = slow(11, 22, 33)

if f !=33:

print('fail!')

elif s !=7986:

print('fail!')

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。