第一阶段(6):带参数的装饰
前几篇我们对装饰器已经做了非常好的总结,今天就剩下最后一个类型,带参数的装饰器
废话不多说上代码
def canshu(a):
print(a)
def wrapper(func):
print('我是wrapper')
def inner(*args,**kwargs):
print('我是inner')
print(func.__name__)
func(args,kwargs)
return inner
return wrapper
# wrapper=canshu('大王八')
@canshu('大王八')
def test_A(a,b):
print('你是%s或者%s'%a,b)
if __name__ == '__main__':
test_A('小王八','老王八')
结果
结论,是不是很简单,那就不多说了,带参数的装饰器就是在原来函数装饰器外面又套了一层canshu方法用来接受语法糖的参数,整体结构和以前是一样的