魔法方法懵逼 = =
感觉我就是在乱写QAQ,请指出我的问题~多谢 你的确是在乱写。。。
重载+的返回值应该是return str.__add__(self,other)
不用重写__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]