gpt4 book ai didi

python - python是匀速迭代的吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:14 24 4
gpt4 key购买 nike

我编写了一些代码来从 GPIO 获取传感器读数与时间的关系。为了确保测量对应于特定时间,我想知道 python 是否以恒定速度迭代(以便迭代之间的间隔是恒定的)- 以及它在迭代之间的最小时间间隔是多少。

如果不是,谁能告诉我如何使时间间隔保持不变。谢谢!

最佳答案

不,Python 不会也不可能以恒定速度迭代。

Python 只是 Raspberry PI 上的另一个进程,您的操作系统负责为其分配时间以在 CPU 上运行(称为 multi-tasking)。其他进程也得到分配的时间。这意味着 Python 永远不会一直运行,任何处理时间都将取决于其他进程在做什么。

迭代本身也委托(delegate)到特定类型;下一个项目的生成方式差异很大,即使 Python 被授予对 CPU 迭代的持续访问权限,仍然会有所不同。无论您在循环体中做什么,都需要时间,除非输入和输出始终完全相同,否则几乎肯定会花费不同的时间来完成工作。

与其尝试为循环计时,不如使用 time.time() 测量时间或 timeit.default_timer (取决于你需要多精确,在你的 Raspberry 上它会是相同的功能)在一个循环中并根据它调整你的 Action 。

关于python - python是匀速迭代的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29389858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com