Python 中的定时器函数

Lakshay Kapoor 2023年1月30日
  1. 在 Python 中 time.time() 函数的使用
  2. 在 Python 中 time.Process_time() 函数的使用
  3. 在 Python 中 time.Perf_counter 函数的使用
  4. 在 Python 中 time.monotonic() 函数的使用
Python 中的定时器函数

Python 是一种非常庞大的编程语言,在全世界都有很高的使用率。程序员制作了大量需要大量 Python 代码行的程序。为了根据运行时间监控和分析这些代码,我们可以使用 Python 计时器函数。

time 模块在这里是最重要的,因为它包含有助于检查和分析时间的所有功能。

在本教程中,我们将讨论使用 time 模块的各种 Python Timer 函数。

在 Python 中 time.time() 函数的使用

此函数以秒为单位返回时间。它是纪元之后经过的秒数 - 1970 年 1 月 1 日,00:00:00 (UTC)。该函数使用计算机系统设置的时间来返回输出,即秒数。

例子:

import time

start = time.time()

for r in range(1, 20000):
    pass

end = time.time()
print(format(end - start))

startend 之间,是代码的主体。这里以 for 循环为例。

输出:

3.252345085144043

请注意,输出即秒是一个浮点值。

在 Python 中 time.Process_time() 函数的使用

此函数以秒为单位返回时间。整个过程的时间参考也记录在函数中,而不仅仅是过程中经过的时间。

例子:

from time import process_time, sleep

start = process_time()

for r in range(20):
    print(r, end=" ")

end = process_time()
print(end, start)
print(end - start)

输出:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10.756645 10.75523
0.0014150000000014984

time.sleep() 中花费的时间不是由这个函数测量的,这意味着它只测量两个连续时间参考之间的时间差。

在 Python 中 time.Perf_counter 函数的使用

也称为性能计数器,此函数有助于以更准确的方式获取两个引用之间的时间计数。此功能应仅应用于小型流程,因为它非常准确。

我们也可以在这个函数之间使用 time.sleep()。通过这个函数,代码的执行可以暂停几秒钟。sleep() 函数接受一个浮点值作为参数。

例子:

from time import perf_counter, sleep

n = 10
start = perf_counter()

for r in range(n):
    sleep(2)

end = perf_counter()

print(end - start)

输出:

20.03540569800043

返回值显示经过的总时间。由于 sleep 功能设置为 2,因此在输入值为 10 的情况下完成整个过程需要 20.035 秒。

在 Python 中 time.monotonic() 函数的使用

如果用户在执行 Python 代码时更改了时间,那么在 Python 中实现计时器功能时会产生巨大的差异。在这种情况下,单调定时器功能可确保时间参考根据用户在外部所做的更改自行调整。

例子:

from time import monotonic, sleep

n = 10
start = monotonic()

for r in range(n):
    sleep(2)

end = monotonic()

print(end - start)

输出:

20.029595676999634

开始和结束参考确保程序适应用户所做的任何更改。

作者: Lakshay Kapoor
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

相关文章 - Python Timer