845088311 发表于 2020-5-27 22:57:42

第43集中的算术运算疑问

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(4)
>>> b = New_int(4)
>>> a+b
8
>>> a-b
0



按照视频里的代码敲了一遍为啥得到了不一样的结果呀

Twilight6 发表于 2020-5-27 22:59:51

本帖最后由 Twilight6 于 2020-5-27 23:03 编辑

魔法方法都是双下划线的哦!

你的 __sub__ 、__add__ 都是单下划线了

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

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

845088311 发表于 2020-5-27 23:07:55

Twilight6 发表于 2020-5-27 22:59
魔法方法都是双下划线的哦!

你的 __sub__ 、__add__ 都是单下划线了

万分感谢大佬,解决了问题可以睡个好觉了

Twilight6 发表于 2020-5-27 23:08:31

845088311 发表于 2020-5-27 23:07
万分感谢大佬,解决了问题可以睡个好觉了

晚安好梦~
https://xxx.ilovefishc.com/forum/202005/27/132745rjvcvw1z2148jthd.gif

Twilight6 发表于 2020-5-27 23:09:14

845088311 发表于 2020-5-27 23:07
万分感谢大佬,解决了问题可以睡个好觉了

帮助到你的话记得给个最佳~{:10_288:}
页: [1]
查看完整版本: 第43集中的算术运算疑问