类的定制

本文介绍如何创建自定义的浮点数类和时间类,通过封装方法实现数值和时间的操作与显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 定制自己的float类:

class RoundFloatManual(object):
def __init__(self, val):
assert isinstance(val, float), "Value must be a float!"
self.value = round(val, 2)

def __str__(self):
#return str(self.value)
return '%.2f' % self.value

__repr__ = __str__




#rmf = RoundFloatManual(42)
#print rmf

rmf2 = RoundFloatManual(42.2)
print rmf2

rmf3 = RoundFloatManual(42.22)
print rmf3

rmf4 = RoundFloatManual(42.222)
print rmf4


2. 定制一个时间的类

class Time60(object):
'Time60 - track hours and minutes'

def __init__(self, hr, min):
'Time60 constructor -takes hours and minutes'
self.hr = hr
self.min = min

def __add__(self, other):
'Time60 - overloading the addition operator'
return self.__class__(self.hr + other.hr,
self.min + other.min)

def __iadd__(self, other):
'Time60 - overloading in-place addition'
self.hr += other.hr
self.min = other.min
return self

def __str__(self):
'Time60 - string representation'
return '%d:%d' % (self.hr, self.min)

__repr__ = __str__

mon = Time60(10, 30)
tue = Time60(11, 15)
print mon, tue
print (mon + tue)

#print (mon-tue)

print id(mon)
mon += tue
print mon
print id(mon)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值