def花 发表于 2020-8-2 16:45:24

魔法方法懵逼 = =


感觉我就是在乱写QAQ,请指出我的问题~多谢

sunrise085 发表于 2020-8-2 16:47:13

你的确是在乱写。。。
重载+的返回值应该是return str.__add__(self,other)

Twilight6 发表于 2020-8-2 16:48:54


不用重写__add__ 我们直接继承 int 类就可以继承 __add__ 了

我们只需要重写 __new__ ,返回累加后的的 ASCII 码值即可:

class Nstr(int):
    def __new__(self, string):
      asc = 0
      for i in string:
            asc += ord(i)
      return asc

a = Nstr('a')
b = Nstr('b')
print(a+b)
页: [1]
查看完整版本: 魔法方法懵逼 = =