deftest(func):
a =100defin_test():print("*"*100)
func(a)print("*"*100)return in_test
@testdefdemo(cc):#参数print("in func demo cc = ", cc)
demo()
(2)参数从外部传入:
deftest(func):defin_test(a):print("*"*100)
func(a)print("*"*100)return in_test
a =100@testdefdemo(cc):#参数print("in func demo cc = ", cc)
demo(a)
3、装饰器带参数
(1)装饰器和传入的参数函数都带参数:
defout(a):#外面这层函数就是为了把参数传入deftest(func):defin_test(b):print("*"*100)
func(a+b)print("*"*100)return in_test
return test
a =100
b =15@out(a)defdemo(cc):#参数print("in func demo cc = ", cc)
demo(b)
(2)只装饰器带参数:
defout(a):#外面这层函数就是为了把参数传入deftest(func):defin_test():print("*"*100)
func(a)print("*"*100)return in_test
return test
a =100@out(a)defdemo(cc):#参数print("in func demo cc = ", cc)
demo()