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


Python进行数学运算有多种方式,涵盖基础运算、常用函数运算、混合运算以及借助扩展库运算等。 ### 基础运算 Python 的基础数学运算操作可通过运算符直接实现,如使用 +、-、* 和 / 分别进行加法、减法、乘法和除法运算。示例代码如下: ```python # 加法 result_add = 5 + 3 print(result_add) # 输出 8 # 减法 result_subtract = 10 - 4 print(result_subtract) # 输出 6 # 乘法 result_multiply = 7 * 2 print(result_multiply) # 输出 14 # 除法 result_divide = 20 / 5 print(result_divide) # 输出 4.0 ``` ### 常用数学运算函数 Python 提供了多个常用的数学运算函数,如 `abs()`、`divmod()`、`max()`、`min()`、`pow()`、`round()` 和 `sum()` 等。示例如下: ```python # 返回参数的绝对值 print(abs(-2)) # 返回两个数值的商和余数 print(divmod(10, 3)) # 返回可迭代对象的元素的最大值或者所有参数的最大值 print(max(-1, 1, 2, 3.4)) # 返回可迭代对象的元素的最小值或者所有参数的最小值 print(min(-1, 12, 3, 4, 5)) # 求两个参数的幂运算值 print(pow(2, 3)) # 返回浮点数的四舍五入值 print(round(1.456778)) # 对元素类型是数值的可迭代对象的每个元素求和 print(sum((1, 2, 3, 4))) ``` ### 混合运算 在 Python 中,数学运算存在优先级,优先级从高到低依次为:`()` 括号、`**` 幂运算、`*`、`/`、`//`、`%`、`+`、`-`、比较和逻辑运算符。示例代码如下: ```python result = (2 + 3) * 4 ** 2 / 5 - 1 print(result) # (5 * 16 / 5) - 1 = 16 - 1 = 15.0 ``` ### 借助扩展库运算 Python 有多个用于数学运算的扩展库,如 `math`、`NumPy`、`SciPy`、`SymPy` 等。以 `math` 模块为例,可使用 `math.hypot()` 计算直角三角形的斜边: ```python import math hypotenuse = math.hypot(3, 4) print(hypotenuse) # 输出 5.0 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值