python入门(八)操作符重定义和继承

python入门(八)操作符重定义和继承

参考书籍 python_note_pdq.pdf
13.1 加减法重定义
Python的基本数据类型如整数、浮点数,能够进行数学运算。类可以吗?为了使类的实例也可以进行数学操作,我们需要在类的内部重新定义数学操作符,使之支持用户定义的数据类型。
class RMB:
def __init__(self,sum=0.0):
self.sum = sum
#呵呵,类似于toString()?
def __str__(self):
return str(self.sum)
#重定义加法操作
def __add__(self,other):
return RMB(self.sum + other.sum)
#重定义减法操作
def __sub__(self,other):
return RMB(self.sum - other.sum)
a = RMB(2.1)
b = RMB(1.0)
print(a,b,a+b,a-b,a.__add__(b),a.__sub__(b))
控制台输出如下:
2.1 1.0 3.1 1.1 3.1 1.1

13.2 乘法重定义
如果乘法操作符“*”的左右操作数都是用户定义的数据类型,那么调用mul 。若左边的操作数是原始数据类型,而右边是用户定义数据类型,则调用rmul 。
class Rect:
def __init__(self, width = 0.0, length = 0.0):
self.width = width
self.length = lengt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值