为了账号安全,请及时绑定邮箱和手机立即绑定

这些都是啥?写加减乘除的规律是啥,这是Python中固定死的格式吗?要把它记住吗?

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 __sub__(self, r):
        return Rational(self.p * r.q - self.q * r.p, self.q * r.q)
    def __mul__(self, r):
        return Rational(self.p * r.p, self.q * r.q)
    def __div__(self, r):
        return Rational(self.p * r.q, self.q * r.p)
    def __str__(self):
        g = gcd(self.p, self.q)
        return '%s/%s' % (self.p / g, self.q / g)
    __repr__ = __str__

正在回答

4 回答

这是有理数的加减乘除运算,比如说a=1/2,b=1/4,计算a+b=?,在这个加法运算中a是主动方,即self, b是被加数用r表示,self.p和self.q分别代表a的分子和分母,r.p和r.q代表b的分子和分母,1/2+1/4=(1*4+1*2)/(2*4)=3/4

6 回复 有任何疑惑可以回复我~
#1

慕粉3754966 提问者

非常感谢!
2016-08-22 回复 有任何疑惑可以回复我~

(self,r)中的‘r’是啥?r.p  r.q又是?

0 回复 有任何疑惑可以回复我~

可以通过dir(**)来获取定义好的方法。

这句话是啥意思?求教。

0 回复 有任何疑惑可以回复我~

不需要死记,都是类的特殊方法,可以自定义名称, 可以通过dir(**)来获取定义好的方法。

0 回复 有任何疑惑可以回复我~
#1

慕粉3754966 提问者

可以通过dir(**)来获取定义好的方法。 这句话是啥意思?求教
2016-08-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

这些都是啥?写加减乘除的规律是啥,这是Python中固定死的格式吗?要把它记住吗?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号