python
Posted lkx-fhxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python相关的知识,希望对你有一定的参考价值。
__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的主要内容,如果未能解决你的问题,请参考以下文章