|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问在下面代码中 init 中 self.default_timer = t.perf_counter
self.default_timer 是一个init 方法中的属性变量吧
为什么下面start 方法中self.begin = self.default_timer()
把self.default_timer()加上括号变成函数调用,但上面没有创建过self.default_timer()函数啊
为什么可以用啊?why?
- import time as t
- class MyTimer:
- def __init__(self):
- self.prompt = "未开始计时"
- self.lasted = 0.0
- self.begin = 0
- self.end = 0
- self.default_timer = t.perf_counter
-
- def __str__(self):
-
- return self.prompt
- __repr__ = __str__
-
- def __add__(self,other):
- result = self.lasted +other.lasted
- prompt = "总共运行了 %0.2f 秒"% result
- return prompt
-
- #开始计时
- def start(self):
- self.begin = self.default_timer()
- self.prompt = "提示:请先调用 stop()停止计时"
- print('计时开始')
-
- #停止计时
- def stop(self):
- if not self.begin:
- print('提示请先调用 start() 进行计时')
- else:
- self.end = self.default_timer()
- self._calc()
- print('计时结束')
复制代码
t.perf_counter是一个方法
self.default_timer = t.perf_counter # 所以这个就是把time的方法名给了MyTimer的default_timer
所以加个括号就能运行起来了 
|
|