import time class Timer: def __init__(self, func=time.perf_counter): self.elapsed = 0.0 self._func = func self._start = None def 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._start self._start = None def reset(self): self.elapsed = 0.0 def get_elapsed(self): if self._start is None: return 0.0 self.stop() elapsed = self.elapsed self.start() return round(elapsed, 2) @property def running(self): return self._start is not None def __enter__(self): self.start() return self def __exit__(self, *args): self.stop()
标签:__,start,python,self,elapsed,实现,计时器,._,def From: https://www.cnblogs.com/hoganhome/p/16803215.html