1 """No.1 No.2 ...表示执行流程"""
2
3 def set_func(func): # <No.1-1>:func = show---->作用:func 指向原show 函数 ,
4 def wrapper(*args, **kwargs):
5 print("装饰器功能1") # <No.3>:"装饰器功能1"
6 return func(*args, **kwargs) # <No.4>最重要理解的地方:此处的func 指向了show原来的函数内容,func()--->打印"----hello----"
7
8 return wrapper # <No.1-2>:show = wrapper--->作用:show指向了wrapper
9
10
11 @set_func # <No.1>:show =set_func(show1)--->作用:将func指向了show,再将show指向了wrapper
12 def show():
13 print("----hello----") # <No.5>:打印"----hello----"
14
15
16 show() # <No.2>:开始执行show 但show 指向了wrarrpe 即开始执行wrapper
17
18
19 结果如下:
20 装饰器功能1
21 ----hello----
22
23 进程已结束,退出代码 0