我正在学习Python课程,我了解了这样的功能time.monotonic():每次启动程序时,函数返回的两个值之间的差异应该是固定的。但我没有注意到类似的事情。
import time
st = time.monotonic()
time.sleep(1)
end = time.monotonic()
print(end - st)
上面的代码每次运行时都会输出完全不同的数字。我错过了什么吗?我使用 macOS 12、Zed 代码编辑器、Python 3.12.5
我正在学习Python课程,我了解了这样的功能time.monotonic():每次启动程序时,函数返回的两个值之间的差异应该是固定的。但我没有注意到类似的事情。
import time
st = time.monotonic()
time.sleep(1)
end = time.monotonic()
print(end - st)
上面的代码每次运行时都会输出完全不同的数字。我错过了什么吗?我使用 macOS 12、Zed 代码编辑器、Python 3.12.5
这个函数是用于完全不同的东西。关键是,即使您将系统时钟设置回来,该函数
monotonic在您下次调用它时也不会返回较低的时间。但常规函数time可能会花费更少的时间,并且您将得到负的测量结果。该函数
monotonic不依赖于系统时钟及其翻译,并且在下一次调用时永远不会返回小于上一次调用的时间。因此,建议将其用于长期时间测量,在此期间任何事情都可能发生,例如,将系统时钟向后移动(由于夏季/冬季时间或其他原因)。