Python 中 time 模块的 clock()和 time()方法

Vaibhav Vaibhav 2022年5月18日
Python 中 time 模块的 clock()和 time()方法

time 模块是 Python 标准库的一部分。

该模块包含与时间相关的实用程序。该模块用于各种任务,例如计算代码块的执行时间,将时间从一个单位转换为另一个单位,例如小时到秒,天到毫秒,访问挂钟时间。

time 模块有两种常用的方法,即 clock()time()。本文将讨论 Python 的 time 模块的 clock()time() 方法。

Python 中 time 模块的 clock()time() 方法

time 模块的 clock() 方法返回自当前进程启动以来的 CPU 时间或实时时间。

不幸的是,这种方法依赖于平台。这意味着 clock() 方法对于基于 UNIX 的操作系统(例如 macOS、Linux 和 Microsoft Windows)的行为不同。

对于基于 UNIX 的系统,此方法将进程的 CPU 时间作为浮点数返回,并以秒为单位进行转换。同时,Microsoft Windows 返回自第一次调用此方法以来经过的实际时间或挂钟时间(以秒为单位)。

由于这种不平衡,clock() 方法已从 Python 3.8 的 time 模块中删除。

time() 方法以浮点数返回当前时间(以秒为单位)。与 clock() 方法不同,time() 方法与平台无关。

借助示例让我们知道它的用法。请参阅以下 Python 代码。

import time

start = time.time()
time.sleep(5)
end = time.time()
print(end - start)

输出:

5.021177291870117

上面的 Python 代码首先调用 time() 函数并将时间戳存储在一个变量中。

接下来,它使用 sleep() 方法休眠或等待 5 秒。然后,它再次调用 time() 函数并存储时间戳。最后,它将时差打印到控制台。

请注意,对我来说,时差是 5.021177291870117,非常接近 5。请记住,在计算中可以发现很小的变化。

执行 5 秒的睡眠动作以表示需要大约 5 秒才能完成的任务。它应该放在两个 time() 方法调用之间,以测量代码块的执行时间。

有关示例,请参阅以下 Python 代码。

import time

start = time.time()
s = 0

for i in range(100000000):
    s += i

print(s)
end = time.time()
print("Time Difference:", end - start)

输出:

4999999950000000
Time Difference: 14.171791315078735
作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

相关文章 - Python Time