本帖最后由 花椒壹拾伍 于 2019-4-28 08:02 编辑
例子里面有点没解释清楚,初学者可能半天摸不着头脑,我来说说我的理解,帖子里的这段代码:import time
def timeslong(func):
def call():
start = time.clock()
print("It's time starting ! ")
func()
print("It's time ending ! ")
end = time.clock()
return "It's used : %s ." % (end - start)
return call
@timeslong
def f():
y = 0
for i in range(10):
y = y + i + 1
print(y)
return y
print(f())
可以等价替换为以下代码:import time
def timeslong(func):
def call():
start = time.clock()
print("It's time starting ! ")
func()
print("It's time ending ! ")
end = time.clock()
return "It's used : %s ." % (end - start)
return call
def f():
y = 0
for i in range(10):
y = y + i + 1
print(y)
return y
f = timeslong(f)
print(f())
是不是清晰多了 |