标题Python 数字时钟 定义一个类实现
在Python中,我们有强大的关于时间的内建库time和datetime两个库,时间神秘而重要,那么,我们可以根据Python的编程原理,面向对象来自定义一个类实现类似现实中的钟表吗?答案是肯定的。
下面,就代码演示:
import time
#引入time模块,因为需要使用时间暂停模拟秒表
class Clock(object):
#自定义类,名字随便,这里叫Clock
def __init__(self,hours=0,minute=0,second=0):
#初始化类的属性,钟表有秒针,分针,时针
self.hours=hours
#可定义为私有属性,我这定义的是公共属性
self.minute=minute
#如果定义私有属性,self._hours=hours
self.second=second
def run(self):
#定义了一个钟表运行的方法
self.second+=1
#如果需要倒着计时,改成self.second-=1
if self.second==60:
self.second=0
self.minute+=1
#秒针走60次,分针走一次
if self.minute==60:
self.minute=0
self.hours+=1
#分针走60次,时针走一次
if self.hours==24:
self.hours=0
#时针走24次,时针归零
def showtime(self):
return '%2d*%2d*%2d'(self.hours,self.minute,self.second)
#定义了一个显示时间的方法,字符串格式化
if __name__=='__main__':
#程序入口
clock = Clock(00, 00, 00)
#设定初始时间,0点0分0秒
while True:
print(Clock.showtime(clock))
time.sleep(1)
Clock.run(clock)
#一个死循环,程序停止需手动停止。
#如果你想把这个程序当做一个秒表,我想很合适
#什么时候停止它,就是你所用的时间