import time
#装饰器
def timer(func):
def wrapper():
start_time = time.time()
total =func()
end_time = time.time()print('函数运行耗时: {}'.format((end_time - start_time)*1000))return total
return wrapper
@timer
def sun():
total =sum(range(100))return total
if __name__ =='__main__':
total =sun()print(total)
带参数装饰器
import time
#装饰器
def timer(func):
def wrapper(num):
start_time = time.time()
total =func(num)
end_time = time.time()print('函数运行耗时: {}'.format((end_time - start_time)*1000))return total
return wrapper
@timer
def sun(num):
total =sum(range(num))return total
if __name__ =='__main__':
total =sun(100)print(total)
不固定参数个数的装饰器
import time
#装饰器, timer装饰其中的函数 wrapper,可以自由命令.
def timer(func):
def wrapper(*args):
start_time = time.time()
total =func(*args)
end_time = time.time()print('函数运行耗时: {}'.format((end_time - start_time)*1000))return total
return wrapper
@timer
def sun(*args):
total =sum(range(*args))return total
if __name__ =='__main__':
total =sun(1,10)print(total)