python 装饰器

1、作用域 2、高阶函数 3、闭包

import time

def logger(flag=False):
def show_time(f):
def inner(*args,**kwargs):
start = time.time()
f(*args,**kwargs)
end = time.time()
print(end-start)
if flag:
print('record log...')
return inner
return show_time


@logger(True) # foo = show_time(foo)
def foo(a, b):
print('foo...%d' % (a+b))
time.sleep(2)


foo(2, 5)
posted @ 2018-09-04 11:15  拟好,妖妖灵  阅读(80)  评论(0编辑  收藏  举报