首页 > 代码库 > python 装饰器
python 装饰器
最近在学习廖雪峰的python教程,在装饰器的一章中有个思考题:
<!-- lang: python -->
import functools
def log(params):
def decorator(): @functools.wraps(params) def wrapper(*args,**kw): print ‘begin call 1‘ params(*args,**kw) print ‘end call 1‘ return wrapper def decorator2(func): @functools.wraps(func) def wrapper2(*args,**kw): print params,‘begin call 2‘ func(*args,**kw) print ‘end call 2‘ return wrapper2 if hasattr(params,‘__call__‘): return decorator() else: return decorator2
@log
def now():
print ‘2014‘
@log(‘execute‘)
def now2():
print ‘2015‘
now()
print
now2()
python 装饰器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。