标签:没有 red class print end 调用 运行时间 __add__ 准备
__init__()
这个方法一般用于初始化一个类
但是 当实例化一个类的时候, __init__并不是第一个被调用的, 第一个被调用的是__new__
__new__()
__new__方法是创建类实例的方法, 创建对象时调用, 返回当前对象的一个实例
__init__方法是类实例创建之后调用, 对当前对象的实例的一些初始化, 没有返回值
计时器:
import time as t
class Mytimer():
def __init__(self):
self.unit = [‘年‘,‘月‘,‘天‘,‘小时‘,‘分钟‘,‘秒‘]
self.prompt = "来开始计时"
self.lasted = []
self.begin = 0
self.end = 0
def __str__(self):
return self.prompt
__repr__ = __str__
def __add__(self):
prompt = "总共运行了"
result = []
for index in range(6):
redult.append(self.lasted[index]+othor.lasted[index])
if result[index]:
primpt += (str(result[index]+self.unit[index])
return prompt
#开始计时
def start(self):
self.begin = t.localtime()
self.prompt = "请先调用stop()停止计时"
print("计时开始")
#停止计时
def stop(self):
if not self.begin:
print("请先调用start()进行计时!")
else:
self.end = t.localtime()
self._calc()
print("计时结束")
#内部方法,计算运行时间
def _calc(self):
self.lasted = []
self.prompt = "总共运行了"
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])
#为下一轮计时做准备
self.begin = 0
self.end = 0
标签:没有 red class print end 调用 运行时间 __add__ 准备
原文地址:https://www.cnblogs.com/lkx-fhxy/p/10597790.html