# #使用装饰器对无参数的函数进行装饰
# def func(function):
# print("---------1---------")
# def func_in():
# print("-------2-------")
# function()
# return func_in
# @func
# def test():
# print("-----3------")
# # test= func(test)
# test()
#
# #使用装饰器对有参数的函数进行装饰
# def func(function):
# def func_in(a,b):#如果a,b定义,会导致下面26行调用失败
# print("验证")
# function(a,b)#如果没有把a,b当作实参进行传递,那么会导致调用24行的函数test()调用失败
# return func_in
# @func
# def test(a,b):
# print("%s,%s"%(a,b))
# test(11,22)
#使用装饰器对有不定长参数的函数进行装饰
def func(function):
def func_in(*args,**kwargs):
print("我是装饰器")
function(*args,**kwargs)
return func_in
@func
def test(a,b,c):
print(a,b,c)
@func
def test1(a,b,c,d):
print(a,b,c,d)
test(1,2,3)
test1(1,2,3,4)
#装饰器装饰有返回值