装饰器
装饰器: ---->要求记住最后的结论
装饰器本质上是一个闭包
作用:
在不改变原有函数调用的情况下, 给函数增加新的功能。
直白:可以在函数前后添加新的功能, 但是不改变原来的代码
在用户登录的地方, 日志。
雏形:
def wrapper(fn): wrapper:装饰器, fn:目标函数
def inner(*args, **kwargs):
#在目标函数之前...
ret = fn(*args, **kwargs) # 执行目标函数
# 在目标函数执行之后。。。。
return ret
rerurn inner # 千万不要加上()
@wrapper
def target():
pass
target() # ==> inner()
一个函数可以被多个装饰器装饰

浙公网安备 33010602011771号