# 为什么要用装饰器 # 在不改变原函数的基础上,对函数执行前后进行自定义操作 import functools def wapper(func): @functools.wraps(func) # 把原来函数的信息复制过来 def inner(*args, **kwargs): return func(*args, **kwargs) return inner # 执行wapper函数,并将被装饰的函数当做参数, wapper(index) # 将第一步的返回值,重新赋值给新index = wapper(老index) # index = wapper(index) @wapper def index(a1): return a1 + 1000 # 执行 v = index(2) print(v) # 取函数名 print(index, __name__)
带参数的装饰器
v1=xx(666)
@v1
新index=v1(老index)
@xx(666)
def index(request):
return 123