多种装饰器详解
#以四种函数来分别设计装饰器
#无参数,无返回
#无参数,有返回
#有参数,无返回
#有参数,有返回
def set_func(func):
def call_func():
print('新功能---验证')
func()
return call_func
@set_func
def test():
print("test")
test()
def set_func(func):
def call_func():
print("新功能---验证")
return func()
return call_func
@set_func
def test():
print("test")
return "over"
result = test()
print(result)
def set_func(func):
def call_func(*args, **kwargs):
print("新功能---验证")
func(*args, **kwargs)
return call_func
@set_func
def test(*args, **kwargs):
print("test")
print(args)
print(kwargs)
test(11,22,a=111)
def set_func(func):
def call_func(*args, **kwargs):
print("新功能---验证")
return func(*args, **kwargs)
return call_func
@set_func
def test(*args, **kwargs):
print("test")
print(args)
print(kwargs)
return 'over'
result = test(11,22,a=11,b=22)
print(result)