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

意思是执行r1+r2的时候,会自动调用__add__吗?

意思是执行r1+r2的时候,会自动调用__add__吗?

如本节示例所示。

为什么在__add__里,我把下面这句

 return Rational(self.p * r.q + self.q * r.p, self.q * r.q)

替换成

return ((self.p * r.q + self.q * r.p)/( self.q * r.q))

输出就为0了呢?

是因为数据类型是int的关系吗

正在回答

1 回答

你的python版本应该是2.几。在python2中/是地板除法,不是真正的触发,即结果是不大于真实结果的最大整数。相当于python3中的//。你把分子或分母强制转化浮点型,结果就是小数了。

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

举报

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

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

进入课程

意思是执行r1+r2的时候,会自动调用__add__吗?

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