📜  带装饰器的计时函数Python(1)

📅  最后修改于: 2023-12-03 15:09:46.218000             🧑  作者: Mango

带装饰器的计时函数Python

在Python中,装饰器(decorator)是一个很有用的概念。它可以让我们不修改函数的情况下改变函数的行为,例如,添加新的功能或修改输入输出。在本文中,我们将介绍一个常用的装饰器——计时装饰器。

计时装饰器介绍

计时装饰器可以用来计算函数的执行时间。我们可以把计时装饰器应用在有密集计算或长时间运行的函数上,以便优化代码或查找潜在的性能问题。

计时装饰器代码

下面是一个计时装饰器的代码:

import time

def time_it(func):
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print('函数 {} 的执行时间为: {}'.format(func.__name__, end_time-start_time))
        return result
    return wrapper

这个代码定义了一个名为time_it的装饰器。它接受一个函数作为参数,并返回一个新的函数——wrapper。wrapper函数计算函数执行的时间,并将其打印到控制台上。

计时装饰器使用方法

要使用计时装饰器,只需将其应用到目标函数的定义之前。例如,下面的代码演示了如何计算函数的执行时间:

@time_it
def my_func(n):
    result = 0
    for i in range(1,n+1):
        result += i
    return result

my_func(1000000)

这个代码对my_func函数进行了计时。我们使用@time_it语法将计时装饰器应用到my_func函数上,在my_func函数调用之前计算my_func函数的执行时间。最后打印结果为“函数 my_func 的执行时间为: 0.038095951080322266”。

总结

计时装饰器是一个方便而强大的工具,可以让我们优化代码并查找性能问题。本文介绍了如何定义和使用计时装饰器,以及计时装饰器的基本工作原理。希望这篇文章对你有所帮助!