def __str__(self)的self.p和self.q是通过__add__()函数计算以后又赋值的吗?
class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __add__(self, r): return Rational(self.p * r.q + self.q * r.p, self.q * r.q) def __str__(self): return '%s/%s' % (self.p, self.q) __repr__ = __str__
def __str__(self)的self.p和self.q是通过__add__()函数计算以后又赋值的吗?不然为什么输出是5/6