zoukankan      html  css  js  c++  java
  • python基础学习1-计数器实例

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import time as t
    
    class MyTimer:
        def __init__(self):#重写初始化函数
            self.units=["年","月","天","小时","分钟","秒"]
            self.lasted=[]#保存 计数开始时间和结束时间之间的时间差 年月日时分秒 对位相减
            self.message="未开始计时!"
        def __str__(self):#重新类的__str__函数 输出字符串
            return self.message
    
        def __add__(self, other):#重写类的__add__函数 当对象调用+号时候调用
            self.message  ="总共运行了"
            result=[]
            for item in range(6):#用循环 在时间位置对应相加
                 total= self.lasted[item]+other.lasted[item]
                 if total :
                    ts=str(total)+self.units[item]
                    result.append(ts)
                    self.message+=ts
            return  self.message
    
        def __sub__(self, other):
            self.message="两个对象时间差:"
            result=[]
            for index in range(6):
                 lfs=self.lasted[index] -other.lasted[index]
                 if lfs:
                    result.append(str(lfs)+self.units[index])
                    self.message+=str(lfs)+self.units[index]
            return  self.message
    
    
    
        def Start(self):
            self.message="计数器已经运行了:"
            self.begintime = t.localtime()#取当前本地时间
    
        def Stop(self):
            self.endtime=t.localtime()#取当前结束时间
            self.__SumTime()#开始计算时间差
    
        def __SumTime(self):#计算 开始时间和结束时间的差
            for item in range(6):
                rs=self.endtime[item]-self.begintime[item]
                self.lasted.append(rs)
                if(rs):
                    self.message+=str(rs)+self.units[item]
    
    
    
    t1=MyTimer#创建计数器对象1
    t1.Start()
    t.sleep(7)
    t1.Stop()
    print("对象t1:"+str(t1))
    
    t2=MyTimer()#c创建计时器对象2
    t2.Start()
    t.sleep(1)
    t2.Stop()
    print("对象t2:"+str(t2))
    
    print(t1+t2)
    print(t1-t2)
    
  • 相关阅读:
    vue首页组件切换
    vue 页面 添加背景音乐
    vue 新闻列表滚动效果
    vuex中的this.$store.commit
    echarts图例的位置及大小,环图中间字
    octotree — 树形展示 Github 项目代码
    D3 GEO应用专题(一):绘制旋转的3D地球
    vue/cli 3.0脚手架搭建vue项目
    微软锁屏壁纸
    Spring Boot构建RESTful API与单元测试
  • 原文地址:https://www.cnblogs.com/whzym111/p/5811300.html
Copyright © 2011-2022 走看看