python,,__init__()


__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

python

评论关闭