breaki 发表于 2020-7-20 13:34:42

python

import time as a
class MyTimer:
    def __str__(self):
      return self.prompt
    __repr__ = __str__
    def start(self):
      self.start = a.localtime()
      print('计时开始...')
    def stop(self):
      self.stop = a.localtime()
      self._calc()
      print('计时结束!')
    def _calc(self):
      self.lasted = []
      self.prompt = '总共运行了'
      for index in range (6):
            self.lasted.append(self.stop - self.start)
            self.prompt += str(self.lasted)
如果我打个t1然后回车这四个函数是按照顺序全运行一遍吗,如果我打个t1.start()他就只运行start一个函数吗。

Twilight6 发表于 2020-7-20 13:36:04



你输入 t1 只会调用 __repr__ 魔法方法,而 __repr__ 被赋值为 __srt__

实际上调用 __repr__ 此时相对于调用 __str__ 是等价的

你输入 t1.start() 只会调用start() 方法

页: [1]
查看完整版本: python