1 num=0 2 def add_num(func): 3 def wrapper(*args,**kw): 4 global num 5 num += 1 6 print(‘begin add‘) 7 res = func() 8 print(‘end add‘) 9 return res 10 return wrapper 11 12 @add_num 13 def now(): 14 print(‘now‘) 15 #调用函数 16 for i in range(2): 17 now() 18 print(num)
运行结果:
begin add now end add 1 begin add now end add 2
注意这里num要用global修饰一下!声明全局变量
原文:https://www.cnblogs.com/zkkysqs/p/8972303.html