魔法方法里面的-简单定制
import timeclass MyTimer():
def __init__(self):
self.unit = ['年','月','天','小时','分钟','秒']
self.prompt = '未开始计时'
self.lasted = []
self.begin = 0
self.end = 0
def __str__(self):
return self.prompt
def __and__(self, other):
prompt="总共运行时间"
result =[]
for index in range(6):
result.append(self.lasted + other.lasted)
if result:
prompt += (str(result) + self.unit)
return prompt
__repr__ = __str__
def start(self):
self.begin=time.localtime()
self.prompt =("提示:请先调用stop()停止计时!")
print("计时开始...")
def stop(self):
if not self.begin:
print("提示:请先调用start()开始计时!")
else:
self.end = time.localtime()
self._calc()
print("计时结束")
def _calc(self):
self.lasted = []
self.prompt = "总共运行了"
for index in range(6):
self.lasted.append(self.end - self.begin)
if self.lasted:
self.prompt += (str(self.lasted) + self.unit)
self.begin = 0
self.end = 0
t1 = MyTimer()
我运行代码,结果终端什么都没显示,有没有人知道为什么呀? 本帖最后由 jackz007 于 2022-10-24 17:20 编辑
import time
class MyTimer():
def __init__(self):
self.unit = ['年','月','天','小时','分钟','秒']
self.prompt = '未开始计时'
self.lasted = []
self.begin = 0
self.end = 0
def __str__(self):
return self.prompt
def __and__(self, other):
prompt="总共运行时间"
result =[]
for index in range(6):
result.append(self.lasted + other.lasted)
if result:
prompt += (str(result) + self.unit)
return prompt
__repr__ = __str__
def start(self):
self.begin=time.localtime()
self.prompt =("提示:请先调用stop()停止计时!")
print("计时开始...")
def stop(self):
if not self.begin:
print("提示:请先调用start()开始计时!")
else:
self.end = time.localtime()
self._calc()
print("计时结束")
def _calc(self):
self.lasted = []
self.prompt = "总共运行了"
for index in range(6):
self.lasted.append(self.end - self.begin)
if self.lasted:
self.prompt += (str(self.lasted) + self.unit)
self.begin = 0
self.end = 0
t1 = MyTimer()
t . start()
for _ in range(50000000):
pass
t . stop()
print(t1)
运行实况:
D:\\Python>python x.py
计时开始...
计时结束
总共运行了8秒
D:\\Python>
页:
[1]