首页 > 编程语言 >python实现计时器

python实现计时器

时间:2022-10-18 17:01:01浏览次数:38  
标签:__ start python self elapsed 实现 计时器 ._ def

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

相关文章

  • Jmeter添加JSR223对Python的支持
    通过下载:org.python:jython-standalone:2.7.2-MavenCentralRepositorySearchjython-standalone-2.7.2.jar放置到\lib\ext下即可: 打开JSR223取样器即可选择pyt......
  • python常用库
    一、python爬虫常用库Python在编写网络爬虫常用到库主要包括urllib、requests、lxml、fake-useragent、bs4(BeautifulSoup)、grab、pycurl、urllib3、httplib2、RoboBrow......
  • 【Python】省略号(...)在Python中的三种用法
    https://blog.csdn.net/weixin_40908748/article/details/106252884https://zhuanlan.zhihu.com/p/489862322https://zhuanlan.zhihu.com/p/489862322 省略号(...)在......
  • 数据结构——————排序算法代码实现(未完待续......)
    排序算法插入排序折半插入排序希尔排序冒泡排序快速排序简单选择排序堆排序归并排序(未完成)基数排序(未完成)#include<bits/stdc++.h>usingnamespacestd;constintMAXN......
  • 链表实现队列——————数据结构作业
    作业code2:-仿照作业code1的功能,将课本上链表的实现队列能完整实现-需要通过main函数调用并能进行友好的人机交互输入​​作业code1​​链表实现队列的代码:#include<bits/......
  • 数据结构作业的代码——————栈的顺序实现
    作业code1:将上课给的顺序表形式实现栈的程序补充(代码已发给大家):实现通过键盘进行插入实现通过键盘进行删除良好的人机交互发的代码:#include<stdio.h>#include<malloc.h>t......
  • 数据结构作业的代码——————栈的链式实现
    作业code2:仿照作业​​code1​​的功能,将课本上链表的实现栈的功能完整实现需要通过main函数调用并能进行友好的人机交互输入#include<bits/stdc++.h>#define#define#defin......
  • JDBC管理事务-概述和JDBC管理事务-实现
    JDBC管理事务-概述JDBC控制事务:1.事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这个步骤要么同时成功,要么同时失败。2.操作:1.开启事务2......
  • python(模块简介)
    今日内容概要索引取值与迭代取值的差异模块简介导入模块的两种句式导入模块的句式补充循环导入问题及解决策略判断文件类型模块的查找顺序模块的绝对导入与相对导......
  • antdv 实现表格中多个标签 分开显示
    如下图,实现效果:  {title:'商品标签',dataIndex:'labelnames',width:260,customRender:({record})=>{constlabelnames=recor......