多个装饰器,执行顺序,以及自己编写响应以及请求

网友投稿 531 2022-09-26

多个装饰器,执行顺序,以及自己编写响应以及请求

多个装饰器,执行顺序,以及自己编写响应以及请求

1.背景

背景:我为啥单独写一片这个文章呢?是因为遇到好多次了我必须搞懂它!文章分三部分1.1不带参数的多个装饰器1.2带参数的装饰器1.3带参数的实例,直接拿来用

2不带参数的多个装饰器‘

# 编写装饰器,作为响应以及请求的校验def request_wrapper(fun): print(f"request_wrapper 1") def wrapper(*args, **kwargs): print(f"request_wrapper 2") fun(*args, **kwargs) print(f"request_wrapper 3") return wrapperdef response_wrapper(fun): print(f"response_wrapper 1") def wrapper(*args, **kwargs): print(f"response_wrapper 2") fun(*args, **kwargs) print(f"response_wrapper 3") return wrapper@request_wrapper@response_wrapperdef fun(): print(f"我是主程序")if __name__ == '__main__': fun()

3.带参数的多个装饰器

# 编写装饰器,作为响应以及请求的校验def request_wrapper(xxxxxxxxxxxx): print(f"request_wrapper 1") def wrapper(fun): print(f"request_wrapper 2") def inner(*args, **kwargs): print(f"request_wrapper 3") fun(*args, **kwargs) print(f"request_wrapper 4") return inner print(f"request_wrapper 5") return wrapperdef response_wrapper(xxxxxxxxxxxx): print(f"response_wrapper 1") def wrapper(fun): print(f"response_wrapper 2") def inner(*args, **kwargs): print(f"response_wrapper 3") fun(*args, **kwargs) print(f"response_wrapper 4") return inner print(f"response_wrapper 5") return wrapper@request_wrapper(111111)@response_wrapper(111111)def fun(): print(f"我是主程序")if __name__ == '__main__': fun()

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:tomcat关闭时Log4j2报错 Log4j Log4j2-TF-4-Scheduled-1 memory leak
下一篇:怎样用git命令去切换分支?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~