求解代码意思
哪位大神求解一下这段代码的 意思?谢谢 def __add__(self, r): return Rational(self.p * r.q + self.q * r.p, self.q * r.q)
哪位大神求解一下这段代码的 意思?谢谢 def __add__(self, r): return Rational(self.p * r.q + self.q * r.p, self.q * r.q)
2018-08-28
r1 = Rational(1, 3) r2 = Rational(1, 2) r1+r2就是使用__add__方法,即__add__(r1,r2)来实现:带入__add__(self,r)方法中 __add__(r1,r2)的返回值是 Rational( r1.p*r2.q(1*3)+r1.q*r2.p(3*1) , r1.q*r2.q(3*2))=Rational(5,6) 而Rational类最后是调用下面方法输出结果,即 def __str__(self): return '%s/%s' % (self.p, self.q) 最后输出结果为5/6 也可以最初将r1、r2的值分别带入Rational类输出,那么 r1 = Rational(1, 3)=1/3 r2 = Rational(1, 2)=1/2 那么你算一下r1+r2=5/6即验证了上面的__add__方法,__add__方法其实是分数乘法通分的过程。 我也是初学,自己是这样理解的,如果有什么第一理解有误,还能与希望楼主留贴沟通,加油~
举报