import time as t
class MyTimer():
def __init__(self):
self.unit=['year','month','day','hour','minute','sec']
self.prompt='未开始';
self.lasted=[]
self.begin=0
self.end=0
def __str__(self):
return self.prompt
__repr__=__str__
def __add__(self,other):
prompt="totle time:"
result=[]
for index in range(6):
result.append(self.lasted[index]+other.lasted[index])
if result[index]:
prompt+=(str(result[index])+self.unit[index])
return prompt
#start
def start(self):
self.begin=t.localtime()
self.prompt='please stop';
print('start')
#end
def stop(self):
if not self.begin:
print('please start')
else:
self.end=t.localtime()
self._calc()
print('end')
#inner function calulate runtime
def _calc(self):
self.lasted=[]
self.prompt='runtime:'
for index in range(6):
self.lasted.append(self.end[index]-self.begin[index])
if self.lasted[index]:
self.prompt+=(str(self.lasted[index])+self.unit[index])
print(self.prompt)
self.begin=0
self.end=0
>>> t1=MyTimer()
>>> t1.start()
start
>>> t2.stop()
Traceback (most recent call last):
File "<pyshell#63>", line 1, in <module>
t2.stop()
NameError: name 't2' is not defined
>>> t1.stop()
runtime:10sec
end
>>> t2=MyTimer()
>>> t2.start()
start
>>> t2.stop()
runtime:4sec
end
>>> t1+t2
'totle time:14sec'
>>>
有时候会出现负数,以后再改吧……