装饰器是把一个函数当作参数传递给另一个函数,然后另一个函数接受后再返回一个函数。
1、简单的例子
将func1函数传递给func2,然后func2返回函数func3,f接受
1 def func1():
2 print("wuya goog goog study")
3
4 def func2(func):
5 def func3():
6 func()
7 print("day day up")
8
9 return func3()
10
11 f = func2(func1)
2、带参
1 def func1(func):
2 # *args和**args表示参数不确定,*args可以看做是list。**args可以看做是个字典
3 def func2(*args,**kwargs):
4 print("*************")
5 func(*args,**kwargs)
6 print("*************")
7
8 return func2
9
10
11 @func1
12 # @相当于执行 func3 = func1(func3)
13 def func3(age):
14 print("wuya is %d" %age)
15
16 f = func3(-10)
执行结果:
