1、问题概述?
Python装饰器(拦截器)详解
在Python中我们经常需要执行一些公共的行为,如性能监控、执行日志捕获、登录验证、接口限流、请求参数验证等,案例使用python版本:python3.8.6
这些需求都满足如下条件:
1、牵扯的函数较多,如果每个函数单独植入代码,代码的冗余大,不利于程序的维护和植入。
2、不利于团队协作,尤其在不同语言和平台交互的时候,植入苦难大,条件多。
这个时候python的装饰器就能在很大的程度上环境个尴尬的境地。
2、装饰器必备知识
2.1、*args的基本用法
*args
用于在函数中接收任意数量的位置参数(positional arguments),参数会被组成一个元组。
1、*args单独使用案例如:
def add_numbers(*args):
for num in args:
print("==num=>",num)if __name__ == '__main__':
print(add_numbers(1, 2, 3))
输出:
2、与普通参数混合使用
与普通参数混合使用最好将*args放在最后
def add_numbers(name,*args):<