# -*-- coding:utf-8 --*-
import datetime
import functools
import time
class CalcRunTime:
def calcruntime(func):
"""函数执行时间,参数,结果"""
@functools.wraps(func)
def inner(*args, **kwargs):
t0 = time.time()
result = func(*args, **kwargs)
time_use = time.time() - t0
func_name = func.__name__
parameter = []
if args:
parameter.append(','.join(repr(arg) for arg in args))
if kwargs:
kwargs_str = ",".join('%s=%r' % (k, v) for k, v in kwargs.items())
parameter.append(kwargs_str)
parameter = ','.join(parameter)
print('[%0.8fs] %s(%s) -> %r' % (time_use, func_name, parameter, result))
return result
return inner
调用实例
@CalcRunTime.calcruntime
def main(*args, **kwargs):
print('>>>>开始计算函数运行时间')
for i in range(1, 1000):
for j in range(i):
print(j)
if __name__ == '__main__':
main(1)