26-python-装饰器(wraps)

# __name__ : 将函数名转化成 一个字符
# __doc__ : 将函数内部的注释显示

# wraps 模块
from functools import wraps def wrapper(fn2): @wraps(fn2) def fn1(*args,**kwargs): print('fn1之前') ret = fn2(*args,**kwargs) print('fn1之后') return ret return fn1 @wrapper def fn2(day): '''这是 fn2 内部的注释''' print('fn2') print(day) return 'fn22' print(fn2.__name__) # 打印结果:fn2 print(fn2.__doc__) # 打印结果:这是 fn2 内部的注释 # 本身通过 __name__ 拿到的应该是 fn1 的信息 , 如果使用 wraps 则拿到的 fn2 的信息 ret = fn2(1) print(ret) # 打印结果: # fn1之前 # fn2 # 1 # fn1之后 # fn22

  

posted @ 2018-10-06 22:53  _Q  阅读(120)  评论(0)    收藏  举报