鱼C论坛

 找回密码
 立即注册
查看: 888|回复: 2

魔法方法·算术运算

[复制链接]
发表于 2020-6-2 21:35:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class New_int(int):
        def __add__(self,other):
                return int.__sub__(self,other)
        def __sub__(self,other):
                return int.__add__(self,other)

       
>>> a = New_int(3)
>>> b = New_int(5)
>>> a+b
-2
这个为什么要继承int类型呢?
返回值的时候return int.__sub__(self,other)为什么要用int.呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-2 21:40:54 | 显示全部楼层
不继承 int 类 你就无法在返回 那返回 int.__sub__(self,other)  和 int.__add__(self,other)

继承了int 类 才能把实例对象传入 int 的 __sub__(self,other) 和 __add__(self,other)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-2 22:50:57 | 显示全部楼层
如果不继承,就自己处理,返回结果。

        def __add__(self,other):
                # __init__初始化一个value属性
                return self.value - other.value
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 21:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表