1 import time as t 2 3 class MyTimer(): 4 def __init__(self): 5 self.unit = ['年','月','天','小时','分钟','秒'] 6 self.prompt = '未开始计时' 7 self.lasted = [] 8 self.begin = 0 9 self.end = 0 10 def __str__(self): 11 return self.prompt 12 __repr__ = __str__ 13 def __add__(self, other): 14 prompt = '总共运行了' 15 result = [] 16 for index in range(6): 17 result.append(self.lasted[index] + other.lasted[index]) 18 if result[index]: 19 prompt += (str(result[index]) + self.unit[index]) 20 return prompt 21 #开始计时 22 def start(self): 23 self.begin = t.localtime() 24 self.prompt = '提示:请先调用stop()停止计时' 25 print('计时开始。。。') 26 #停止计时 27 def stop(self): 28 if not self.begin: 29 print('提示:请先调用start()进行计时') 30 else: 31 self.end = t.localtime() 32 self._calc() 33 print('计时结束!') 34 35 #内部方法,计算运行时间 36 def _calc(self): 37 self.lasted = [] 38 self.prompt = '总共运行了' 39 for index in range(6): 40 self.lasted.append(self.end[index] - self.begin[index]) 41 if self.lasted[index]: 42 self.prompt += str(self.lasted[index]) + self.unit[index] 43 #为下一轮计时初始化变量 44 self.begin = 0 45 self.end = 0 46 #print(self.prompt)