clock.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """
  2. 定义和使用时钟类
  3. Version: 0.1
  4. Author: 骆昊
  5. Date: 2018-03-08
  6. """
  7. import time
  8. import os
  9. class Clock(object):
  10. # Python中的函数是没有重载的概念的
  11. # 因为Python中函数的参数没有类型而且支持缺省参数和可变参数
  12. # 用关键字参数让构造器可以传入任意多个参数来实现其他语言中的构造器重载
  13. def __init__(self, **kw):
  14. if 'hour' in kw and 'minute' in kw and 'second' in kw:
  15. self._hour = kw['hour']
  16. self._minute = kw['minute']
  17. self._second = kw['second']
  18. else:
  19. tm = time.localtime(time.time())
  20. self._hour = tm.tm_hour
  21. self._minute = tm.tm_min
  22. self._second = tm.tm_sec
  23. def run(self):
  24. self._second += 1
  25. if self._second == 60:
  26. self._second = 0
  27. self._minute += 1
  28. if self._minute == 60:
  29. self._minute = 0
  30. self._hour += 1
  31. if self._hour == 24:
  32. self._hour = 0
  33. def show(self):
  34. return '%02d:%02d:%02d' % (self._hour, self._minute, self._second)
  35. if __name__ == '__main__':
  36. # clock = Clock(hour=10, minute=5, second=58)
  37. clock = Clock()
  38. while True:
  39. os.system('clear')
  40. print(clock.show())
  41. time.sleep(1)
  42. clock.run()