欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > Python中的数值运算函数及math库详解

Python中的数值运算函数及math库详解

2025/4/13 1:45:09 来源:https://blog.csdn.net/wsys_yysn/article/details/147156413  浏览:    关键词:Python中的数值运算函数及math库详解

文章目录

  • Python中的数值运算函数及math库详解
    • 一、内置数值运算函数
      • 1. 基本数值运算函数
      • 2. 类型转换函数
      • 3. 进制转换函数
    • 二、math库中的数学常数
    • 三、math库常用数学函数
      • 1. 数论与表示函数
      • 2. 幂函数与对数函数
      • 3. 三角函数
      • 4. 角度转换
      • 5. 双曲函数
      • 6. 特殊函数
    • 四、实际应用示例
      • 1. 计算圆的面积和周长
      • 2. 解二次方程
      • 3. 计算两点间距离
      • 4. 统计函数(使用math.fsum提高精度)
    • 五、注意事项
    • 六、性能比较示例

Python中的数值运算函数及math库详解

一、内置数值运算函数

1. 基本数值运算函数

abs(x)       # 返回x的绝对值
pow(x, y)    # 返回x的y次幂,等价于x**y
round(x[, n]) # 返回x的四舍五入值,n表示小数位数
divmod(a, b) # 返回商和余数的元组(a//b, a%b)

2. 类型转换函数

int(x)       # 转换为整数
float(x)     # 转换为浮点数
complex(re, im) # 创建复数

3. 进制转换函数

bin(x)       # 整数转二进制字符串
oct(x)       # 整数转八进制字符串
hex(x)       # 整数转十六进制字符串

二、math库中的数学常数

import mathmath.pi      # 圆周率π ≈ 3.141592653589793
math.e       # 自然常数e ≈ 2.718281828459045
math.tau     # 2π ≈ 6.283185307179586 (Python 3.6+)
math.inf     # 正无穷大
math.nan     # 非数字值(Not a Number)

三、math库常用数学函数

1. 数论与表示函数

math.ceil(x)     # 向上取整
math.floor(x)    # 向下取整
math.trunc(x)    # 截断小数部分
math.fabs(x)     # 浮点数绝对值
math.factorial(x) # 阶乘x!
math.gcd(a, b)   # 最大公约数(Python 3.5+)
math.isfinite(x) # 判断x是否为有限数
math.isinf(x)    # 判断x是否为无穷大
math.isnan(x)    # 判断x是否为NaN

2. 幂函数与对数函数

math.exp(x)      # e的x次幂
math.expm1(x)    # e的x次幂减1,精度更高
math.log(x[, base]) # 对数函数,base默认为e
math.log1p(x)    # ln(1+x),x接近0时更精确
math.log2(x)     # 以2为底的对数(Python 3.3+)
math.log10(x)    # 以10为底的对数
math.pow(x, y)   # x的y次幂(结果为浮点数)
math.sqrt(x)     # 平方根

3. 三角函数

math.sin(x)     # 正弦(弧度制)
math.cos(x)     # 余弦(弧度制)
math.tan(x)     # 正切(弧度制)
math.asin(x)    # 反正弦
math.acos(x)    # 反余弦
math.atan(x)    # 反正切
math.atan2(y, x) # y/x的反正切
math.hypot(x, y) # 欧几里得范数√(x² + y²)

4. 角度转换

math.degrees(x) # 弧度转角度
math.radians(x) # 角度转弧度

5. 双曲函数

math.sinh(x)    # 双曲正弦
math.cosh(x)    # 双曲余弦
math.tanh(x)    # 双曲正切
math.asinh(x)   # 反双曲正弦
math.acosh(x)   # 反双曲余弦
math.atanh(x)   # 反双曲正切

6. 特殊函数

math.erf(x)     # 误差函数
math.erfc(x)    # 互补误差函数
math.gamma(x)   # Gamma函数
math.lgamma(x)  # Gamma函数的绝对值的自然对数

四、实际应用示例

1. 计算圆的面积和周长

import mathradius = 5
area = math.pi * math.pow(radius, 2)
circumference = 2 * math.pi * radius

2. 解二次方程

import mathdef solve_quadratic(a, b, c):discriminant = b**2 - 4*a*cif discriminant < 0:return Nonex1 = (-b + math.sqrt(discriminant)) / (2*a)x2 = (-b - math.sqrt(discriminant)) / (2*a)return x1, x2

3. 计算两点间距离

import mathdef distance(p1, p2):return math.hypot(p2[0]-p1[0], p2[1]-p1[1])

4. 统计函数(使用math.fsum提高精度)

import mathdata = [1.1, 2.2, 3.3, 4.4, 5.5]
total = math.fsum(data)  # 比sum()精度更高

五、注意事项

  1. math模块的函数通常比内置函数更精确,但速度可能稍慢
  2. math模块的函数大多只接受实数参数,复数运算需使用cmath模块
  3. 对于大数运算,考虑使用decimal模块提高精度
  4. 科学计算推荐使用NumPy库,它提供了更丰富的数学函数和数组支持

六、性能比较示例

import math
import timeit# 比较math.sqrt和**0.5的性能
t1 = timeit.timeit('math.sqrt(100)', setup='import math')
t2 = timeit.timeit('100**0.5')
print(f"math.sqrt: {t1}, **0.5: {t2}")

通过合理选择这些数值运算函数和math库函数,可以高效地完成各种数学计算任务。🐻🐻🐻

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com