import time
# 装饰器,计算被装饰函数执行所用的时间
def aaa(hanshu):
def bbb(canshu):
a = time.time()
hanshu(canshu)
b = time.time()
c = b - a
print(c)
return bbb
@aaa
# 被装饰函数,计算a之前(包括a)的所有整数的和
def ccc(a):
he = 0
for i in range(a+1):
he += i
print(he)
ccc(100000000) # 调用被装饰函数
# 运行结果
# 5000000050000000
# 5.484313726425171
装饰器(被装饰函数有返回值)
import time
# 装饰器,计算被装饰函数执行所用的时间
def aaa(hanshu):
def bbb(canshu):
a = time.time()
j = hanshu(canshu)
b = time.time()
c = b - a
print(c)
return j
return bbb
@aaa
# 被装饰函数,计算a之前(包括a)的所有整数的和
def ccc(a):
he = 0
for i in range(a+1):
he += i
return he
print(ccc(100000000))
# 运行结果
# 5.4343109130859375
# 5000000050000000