在Python中制作计时器可以通过多种方式实现,以下是几种常见的方法:
方法一:使用`time`模块
import timedef timer_example():start_time = time.time() 开始计时要执行的代码time_end = time.time() 结束计时elapsed_time = time_end - start_time 运行所花时间print(f'Time cost: {elapsed_time} seconds')timer_example()
方法二:使用`threading`模块
import threadingdef start_timer(seconds):def countdown():nonlocal secondswhile seconds > 0:time.sleep(1)seconds -= 1print("Time's up!")timer = threading.Timer(seconds, countdown)timer.start()start_timer(10) 设置10秒的计时器
方法三:使用`timeit`模块
from timeit import timeitdef func():s = 0for i in range(1000):s += ireturn selapsed_time = timeit(func, number=1000)print(f'Time cost: {elapsed_time} seconds')

方法四:使用自定义类
import timeclass Timer:def __init__(self, func=time.perf_counter):self.elapsed = 0.0self._func = funcself._start = Nonedef start(self):if self._start is not None:raise RuntimeError('Already started')self._start = self._func()def stop(self):if self._start is None:raise RuntimeError('Not started')end = self._func()self.elapsed = end - self._startself._start = Nonedef reset(self):self.elapsed = 0.0@propertydef running(self):return self._start is not Nonedef __enter__(self):self.start()return selfdef __exit__(self, *args):self.stop()with Timer() as t:要执行的代码passprint(f'Elapsed time: {t.elapsed} seconds')
方法五:使用`PyQt5`的`QTimer`
from PyQt5.QtCore import QTimerfrom PyQt5.QtWidgets import QApplication, QLabelapp = QApplication([])label = QLabel()timer = QTimer()timer.timeout.connect(lambda: label.setText(str(int(timer.remainingTime()))))timer.start(1000) 设置1秒的计时器app.exec_()
以上是几种不同的方法来创建Python计时器。你可以根据你的需求选择合适的方法。如果你需要更复杂的计时器,比如带有图形界面的,可以考虑使用`PyQt5`等图形库。
