python学习--装饰器计算函数运行时间

import time
import datetime

def calculate_function_run_time(func):
    """
    Calculate the running time of the function
    :param func: the function need to been calculated
    :return:
    """
    def call_fun(*args, **kwargs):
        start_time = time.time()
        f = func(*args, **kwargs)
        end_time = time.time()
        print('%s() run time:%s s' % (func.__name__, int(end_time - start_time)))
        return f
    return call_fun

def calculate_function_run_time_ms(func):
    def call_fun(*args, **kwargs):
        start_time = time.time()
        f = func(*args, **kwargs)
        end_time = time.time()
        print('%s() run time:%s ms' % (func.__name__, int(1000*(end_time - start_time))))
        return f
    return call_fun

@calculate_function_run_time
def test1():
    for i in range(1000000):
        i = i +1

@calculate_function_run_time_ms
def test2():
    for i in range(100000000):
        i = i +1

if __name__ == "__main__":
    test1()
    test2()
    
    
"""
	输出结果:
	test1() run time:5 s
	test2() run time:53 ms
"""
posted @ 2019-07-01 22:13  不懂技术的技术宅  阅读(2493)  评论(0编辑  收藏  举报