Python math 模块

Python的math模块提供了丰富的数学函数和常数,适用于标量数值计算。以下是其主要功能及使用方法的总结:

1. 常用常数

  • math.pi:圆周率 π(约3.141592653589793)
  • math.e:自然常数 e(约2.718281828459045)
  • math.inf:正无穷大
  • math.nan:非数字(NaN)

2. 数值运算

  • 平方根math.sqrt(x)(注意:x 需为非负数)
  • 幂运算math.pow(x, y)(返回浮点数,与内置pow()区别)
  • 指数math.exp(x)(计算 e^x)
  • 对数
    • math.log(x[, base])(默认以 e 为底)
    • math.log2(x)math.log10(x)

3. 三角函数

  • 弧度转换
    • math.radians(deg):角度转弧度
    • math.degrees(rad):弧度转角度
  • 基本函数math.sin(x)math.cos(x)math.tan(x)(参数为弧度)
  • 反函数math.asin(x)math.acos(x)math.atan(x)
  • 斜边计算math.hypot(x, y)(等效于√(x² + y²))

4. 数值处理

  • 取整
    • math.ceil(x):向上取整
    • math.floor(x):向下取整
    • math.trunc(x):截断取整(去小数)
  • 绝对值math.fabs(x)(返回浮点数)
  • 符号复制math.copysign(x, y)(x 的绝对值,符号同 y)
  • 余数math.fmod(x, y)(结果符号同 x,与%运算符可能不同)

5. 数论与组合

  • 最大公约数math.gcd(a, b)(处理非负整数)
  • 阶乘math.factorial(n)(n 为非负整数)
  • 组合数(Python 3.10+):
    • math.comb(n, k):组合数 C(n, k)
    • math.perm(n, k):排列数 P(n, k)

6. 特殊函数

  • 伽马函数math.gamma(x)
  • 误差函数math.erf(x)

7. 浮点数工具

  • 拆分小数整数部分math.modf(x)(返回元组 (小数, 整数))
  • 判断函数
    • math.isfinite(x):是否为有限数
    • math.isinf(x):是否为无穷大
    • math.isnan(x):是否为 NaN

8. 示例代码

import math

# 计算圆的面积
radius = 5
area = math.pi * math.pow(radius, 2)

# 计算正弦值(角度转弧度)
angle_deg = 30
sin_val = math.sin(math.radians(angle_deg))  # 输出 0.5

# 最大公约数
print(math.gcd(12, 8))  # 输出 4

# 组合数(Python 3.10+)
print(math.comb(5, 2))  # 输出 10

注意事项

  • 复数运算:需使用cmath模块。
  • 版本兼容性:如combperm等函数需 Python 3.10+。
  • 异常处理:如负数调用sqrtfactorial会引发ValueError

通过合理利用math模块,可高效完成科学计算、几何问题及统计分析中的常见数学操作。建议结合Python官方文档深入探索更多函数细节。

你可能感兴趣的:(python,python,开发语言)