41-python中数学运算

Python 提供的基本数据类型int、float可以做整数和浮点的四则运算以及乘方等运算。

但是,四则运算不局限于int和float,还可以是有理数、矩阵等。

要表示有理数,可以用一个Rational类来表示:

class Rational(object):

def __init__(self, p, q):

self.p = p

self.q = q

p、q 都是整数,表示有理数 p/q。

如果要让Rational进行+运算,需要正确实现__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__

现在可以试试有理数加法:

>>> r1 = Rational(1, 3)

>>> r2 = Rational(1, 2)

>>> print r1 + r2

5/6

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 0×1.EIGRP特性与基本配置EIGRP(Enhanced Interior Gateway Routing P...
    Zero___阅读 6,736评论 0 2
  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 5,526评论 0 6
  • Python进阶框架 希望大家喜欢,点赞哦首先感谢廖雪峰老师对于该课程的讲解 一、函数式编程 1.1 函数式编程简...
    Gaolex阅读 10,987评论 6 53
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,357评论 0 6
  • 如果说《小刀会序曲》是属于紫霞与至尊宝的,那么'Quizas, Quizas, Quizas'的旋律就应该属于苏丽...
    懵萌咪阅读 4,756评论 2 7

友情链接更多精彩内容