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)

 

posted @ 2016-08-26 17:44  whzym111  阅读(330)  评论(0编辑  收藏  举报