liuxingyu.. 发表于 2020-6-2 21:35:58

魔法方法·算术运算

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.呢?

Twilight6 发表于 2020-6-2 21:40:54

不继承 int 类 你就无法在返回 那返回 int.__sub__(self,other)和 int.__add__(self,other)

继承了int 类 才能把实例对象传入 int 的 __sub__(self,other) 和 __add__(self,other)

Stubborn 发表于 2020-6-2 22:50:57

如果不继承,就自己处理,返回结果。

      def __add__(self,other):
                # __init__初始化一个value属性
                return self.value - other.value
页: [1]
查看完整版本: 魔法方法·算术运算