python 45课,小甲鱼视频课——计时器 中的问题,求详解
本帖最后由 huyanmin 于 2021-3-19 12:24 编辑class MyTimer():
#下面是小甲鱼视频中原代码中一部分
def __repr__(self):
return self.prompt #此处prompt前面加了self
def __add__(self,other):
prompt='总共运行了'
result =[]
for index in range(6):
result.append(self.lasted+other.lasted)
if result:
prompt+=(str(result) + self.unit)
return prompt #此处prompt前面没有加self,此处的局部变量prompt是如何改变上面的self.prompt的值的?事实上确实正确 执行了。
本帖最后由 jackz007 于 2021-3-19 12:06 编辑
self 是对象本身,只有在编写类的方法时需要写上形式参数 self。self . prompt 是对象的一个属性。例如:
a = MyTimer()
print(a)
在这段代码中,a 是类 MyTimer 的对象,这个对象就有 prompt 属性,只要定义了对象 a ,就可以通过 a . prompt 访问到这个属性。当使用 print(a) 打印对象信息时,系统会调用 __repr()__ 方法,这时,对象 a 就是传入方法的参数 self,我们看到,__repr()__ 返回了 self . prompt,实际上,就是 a . prompt,如果不信,可以自己验证。
页:
[1]