尝试了解执行流程的新手总数,请看以下代码:
from datetime import datetime
from time import *
def time_decorator(function,a=0):
a +=1
print(a)
def wrapper(*args,**kwargs):
t1= time()
result = function(*args,**kwargs)
t2 = time() - t1
print("elapsed:",t2)
return result
a +=2
print(a)
return wrapper
@time_decorator
def add(x,y=10):
sleep(2)
return x + y
print (add(10))
输出如下:
1
3
elapsed: 2.0001702308654785
20
1
3
我的问题是,为什么“ a”的最后两个值在最后两行中都相同???我希望将其再增加两个??……我不理解翻译的执行流程,请帮助!!