第44讲 视频讲的代码有个地方不懂
本帖最后由 wuyanzulqq 于 2020-11-23 09:32 编辑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 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._count()
print("计时结束!")
#计算差值
def _count(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)
求大佬解释一下 def __str__(self):
return self.prompt
__repr__ = __str__这块代码 越详细越好 1.这两个函数都是内置函数,魔法方法,功能差不多,__str__本质是调用__repr__的
2.__str__相当于在你实例类的时候,自动执行的函数,就比如__init__是初始化类变量的功能,__str__日常所做的通俗的就是print了,
3.怎么跟你形容,就是类是人体,__str__,__init__,是里面的器官,只要你生下来那一刻,器官就随着你的出生而自动出生,并做属于自己的功能。
4.至于__repr__=__str__,就是让两个函数相同,你去掉这句也行,把__str__换成__repr__,效果也是一样的
5.如果有错误,尽情指正
页:
[1]