无论函数有无参数均可套用,不影响打印函数帮助文档
import functools
import time
def timeit(fun):
@functools.wraps(fun) # 加这行,可保证 print(函数名.__doc__) 是原函数的帮助文档
def wrapper(*args,**kwargs): # 接收可变参数和关键字参数
"""这是一个计时装饰器"""
start_time = time.time()
res = fun(*args,**kwargs)
stop_time = time.time()
print('运行时间:%.6f' %(stop_time-start_time))
return res
return wrapper
@timeit
def fun_list(n):
"""该函数为累加函数""" # 打印函数帮助文档,使用print(fun_list.__doc__)会显示
return sum([i for i in range(n)])
result = fun_list(100)
print("累加结果:{}".format(result))
print(fun_list.__name__) # 打印函数名
print(fun_list.__doc__) # 打印函数帮助文档