huyanmin 发表于 2021-3-19 11:18:36

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 11:55:21

本帖最后由 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]
查看完整版本: python 45课,小甲鱼视频课——计时器 中的问题,求详解