在 Python 中使用装饰器创建计时函数

Yahya Irmak 2022年5月18日
在 Python 中使用装饰器创建计时函数

装饰器是 Python 中常用的有用工具。我们可以在使用装饰器执行函数之前和之后执行我们想要的操作。

本文将解释使用 Python 的 time 模块使用装饰器创建计时函数。

在 Python 中使用装饰器创建计时函数

time 模块提供各种与时间相关的功能。该模块的 time() 函数返回自纪元(1970 年 1 月 1 日 00:00:00)以来经过的秒数。

要计算函数的执行时间,我们可以将此模块与装饰器一起使用。

装饰器允许修改 Python 中函数或类的行为。它们允许程序员包装另一个函数来扩展包装函数的行为,而无需永久修改它。

首先,在下面的示例中导入了 time 模块。然后,定义了 timer 函数。

该函数将用作装饰器。

main_func 是计算其执行时间的函数。它只是在这里执行一个循环操作作为示例。

startend 值是在 time() 命令在 main_func 执行前后使用 time() 命令在 timer 函数内计算的。这两个值之间的差异给出了 main_func 函数的执行时间。

from time import time

def timer(function):
    def wrapper(*args, **kwargs):
        start = time()
        function(*args, **kwargs)
        end = time()
        print(f'It took {(end-start):.3f} seconds')

    return wrapper

@timer
def main_func():
    for i in range(1000000):
        continue

main_func()

定时

Author: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

相关文章 - Python Decorator