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

本文介绍了Python中如何重定义操作符,如加减法,并展示了如何通过继承扩展类的功能。通过示例解释了如何创建RMB类支持加减法,以及Rect和Line类实现乘法。此外,还探讨了Python中的继承概念,包括子类调用父类方法,并给出了Person和Student类的实例。最后,讨论了Python中的私有方法和属性的概念。
摘要由CSDN通过智能技术生成
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、付费专栏及课程。

余额充值