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

这样相加的话代码要怎么写?

class Rational(object):
    def __init__(self, aa, bb, cc):
        self.aa = aa
        self.bb = bb
        self.cc = cc
    def __add__(self,x):
        return
a1 = Rational(1, 3, 4)
a2 = Rational(1, 2, 3)
a3 = Rational(2, 5, 7)

请问a1 + a2 + a3在__add__中相加要怎么写?

正在回答

3 回答

课程中Rational表示有理数,所有有理数都也可以写成分数形式,p代表分子,q代表分母,在这个基础上讨论四则运算,你这里的Rational定义的类具体代表什么对象呢?aa,bb,cc分别想表示什么意思呢,只有先确定了对象才的意义能讨论对象的运算。

0 回复 有任何疑惑可以回复我~
class Rational(object):
    def __init__(self, aa, bb, cc):
        self.aa = aa
        self.bb = bb
        self.cc = cc
    def __int__(self):
        return self.aa + self.bb +self.cc

a1 = int(Rational(1, 3, 4))
a2 = int(Rational(1, 2, 3))
a3 = int(Rational(2, 3, 4))
print a1+a2+a3


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

不太明白,你这个a1+a2+a3的输出应该是什么呀

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

KNATO 提问者

print(a1 + a2 + a3) 我在__add__中return要怎么写?
2018-07-19 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这样相加的话代码要怎么写?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信