getminutes函数python举例_python中的简单时钟

这篇博客介绍了如何使用Python类来创建一个时钟模拟,通过属性修饰符实现小时和分钟的设置。时钟的小时和分钟在设定时会自动处理溢出, tic() 方法用于增加分钟。博客还提到了将类转换为Python的新样式类,以利用属性修饰符提高代码可读性,并确保兼容Python2。示例代码展示了类的初始化、属性访问和修改,以及方法的使用。
摘要由CSDN通过智能技术生成

这里有一个固定的重写,使用相同的测试。

setter负责正确设置小时和分钟的值(尽管hours的setter无法正确地添加超过一天的值,但是这很容易根据与分钟相同的模型添加)。在

那么tic()只是添加一分钟的快捷方式。在

注释掉print语句以删除所有小时:分钟。在

注意:我已经将Clock转换为一个“新样式”类对象,它允许使用属性修饰符并使所有内容更具可读性(这对于python3来说不是必需的,但对于让相同的代码也能在python2中工作是必要的)。在class Clock(object):

def __init__(self):

self._hours = 0

self._minutes = 0

@property

def hours(self):

return self._hours

@property

def minutes(self):

return self._minutes

@minutes.setter

def minutes(self, value):

if value >= 60:

# Take care, if one adds more than one hour, to

# take the extra hours into account too:

self.hours += value // 60

self._minutes = value % 60

@hours.setter

def hours(self, value):

self._hours = value % 24

def tic(self):

self.minutes += 1

c = Clock()

assert(c.minutes == 0 and c.hours == 0)

for i in range(24):

assert(c.hours == i)

for j in range(60):

assert(c.hours == i and c.minutes == j)

c.tic()

print('{}:{}'.format(c.hours, c.minutes))

assert(c.minutes == 0 and c.hours == 0)

摘录和输出结尾:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值