Python math 模块完全指南

 更新时间:2025年04月01日 15:52:20   作者:清風明月_xf  
本文主要介绍了Python math 模块完全指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、模块概述

math 模块是 Python 标准库中的数学运算模块,提供:

  • 基础数学运算函数
  • 三角函数与双曲函数
  • 数论相关函数
  • 特殊数学常数
  • 对数与指数计算
import math  # 标准导入方式

二、核心功能详解

1. 数值处理函数

​函数​描述​示例
ceil(x)向上取整ceil(3.2) → 4
floor(x)向下取整floor(3.8) → 3
fabs(x)绝对值(浮点型)fabs(-5) → 5.0
factorial(x)阶乘计算factorial(5) → 120
gcd(a, b)最大公约数gcd(12, 18) → 6
fsum(iter)精确浮点求和fsum([0.1]*10) → 1.0
print(math.ceil(math.pi))    # 4
print(math.floor(math.e))    # 2
print(math.gcd(48, 18))      # 6

2. 幂与对数

​函数​描述​数学公式
sqrt(x)平方根√x
pow(x, y)x的y次幂
exp(x)e的x次幂
log(x[, b])对数(默认自然对数)log_b(x)
print(math.sqrt(256))        # 16.0
print(math.log(100, 10))     # 2.0
print(math.exp(2))           # 7.38905609893065

3. 三角函数

​函数​描述​输入单位
sin(x)正弦函数弧度
cos(x)余弦函数弧度
tan(x)正切函数弧度
degrees(x)弧度转角度-
radians(x)角度转弧度-
angle = math.radians(45)
print(math.sin(angle))       # 0.7071067811865476
print(math.degrees(math.pi)) # 180.0

三、特殊常数与函数

1. 数学常数

​常数​值​精度
math.piπ ≈ 3.14159265358979315位小数
math.e自然对数底 ≈ 2.71828182845904515位小数
math.tauτ = 2π ≈ 6.28318530717958615位小数
math.inf正无穷大IEEE 754
math.nan非数值IEEE 754

2. 高级函数

​函数 ​描述
gamma(x)Gamma函数
erf(x)误差函数
comb(n, k)组合数 C(n,k)
isclose(a,b)浮点数近似相等判断
print(math.comb(10,3))       # 120 (Python 3.10+)
print(math.gamma(5))         # 24.0 (等效 4! )
print(math.isclose(0.1+0.2, 0.3))  # True

四、实战应用案例

1. 几何计算

def circle_area(radius):
    return math.pi * radius**2

def sphere_volume(radius):
    return (4/3) * math.pi * radius**3

2. 概率计算

def normal_pdf(x, mu=0, sigma=1):
    """正态分布概率密度函数"""
    coeff = 1 / (sigma * math.sqrt(2*math.pi))
    exponent = -0.5 * ((x - mu)/sigma)**2
    return coeff * math.exp(exponent)

3. 工程计算

def compound_interest(principal, rate, years):
    """复利计算"""
    return principal * math.exp(rate * years)

五、注意事项

  • ​输入类型:所有函数仅接受整数或浮点数,不接受复数(使用cmath处理复数)
  • ​精度限制:浮点数计算存在精度误差(如math.sqrt(2)**2 ≠ 2
  • ​异常处理
try:
    print(math.sqrt(-1))
except ValueError as e:
    print("错误:", e)  # 负数平方根
  • 版本差异
    • math.prod() 需要 Python 3.8+
    • math.comb() 需要 Python 3.10+

六、性能优化建议

  • 批量计算优先使用 NumPy 数组
  • 重复调用时缓存常数值
PI = math.pi  # 避免重复查找模块属性
  • 使用 math.fsum 替代内置 sum进行高精度浮点求和

 到此这篇关于Python math 模块完全指南的文章就介绍到这了,更多相关Python math 模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解PANDAS 数据合并与重塑(join/merge篇)

    详解PANDAS 数据合并与重塑(join/merge篇)

    这篇文章主要介绍了详解PANDAS 数据合并与重塑(join/merge篇),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 解析Python扩展模块的加速方案

    解析Python扩展模块的加速方案

    这章我们来介绍Python的扩展名之ctypes,教大家认识ctypes,有需要的朋友可以借鉴参考下,希望可以有所帮助,祝大家多多进步,早日升职加薪
    2021-09-09
  • PyQt5中QCommandLinkButton的详细教程与应用实战

    PyQt5中QCommandLinkButton的详细教程与应用实战

    在PyQt5中,QCommandLinkButton是一个特殊的按钮控件,它最初在Windows Vista中引入,并因其独特的外观和功能在GUI应用程序中得到了广泛应用,本教程将结合实际案例,详细介绍QCommandLinkButton在PyQt5中的用法,需要的朋友可以参考下
    2024-07-07
  • Python调用Windows API函数编写录音机和音乐播放器功能

    Python调用Windows API函数编写录音机和音乐播放器功能

    这篇文章主要介绍了Python调用Windows API函数编写录音机和音乐播放器功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Python 日志记录模块的综合指南

    Python 日志记录模块的综合指南

    这篇文章主要为大家介绍了Python 日志记录模块的综合指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python中利用json库进行JSON数据处理详解

    Python中利用json库进行JSON数据处理详解

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,下面就跟随小编一起来了解下如何使用Python实现JSON数据处理吧
    2025-02-02
  • python将四元数变换为旋转矩阵的实例

    python将四元数变换为旋转矩阵的实例

    今天小编就为大家分享一篇python将四元数变换为旋转矩阵的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Diango + uwsgi + nginx项目部署的全过程(可外网访问)

    Diango + uwsgi + nginx项目部署的全过程(可外网访问)

    这篇文章主要给大家介绍了关于Diango + uwsgi + nginx项目部署的全过程(可外网访问),文中通过示例代码将部署的过程介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • Python 使用PIL.Image制作运动小人的动态图思路详解

    Python 使用PIL.Image制作运动小人的动态图思路详解

    这篇文章主要介绍了Python 使用PIL.Image制作一个运动小人的动态图,制作过程也很简单,只需要把图片拆分成12等分,每帧大小:67x165;连续读取和播放就会形成动态图像,需要的朋友可以参考下
    2021-10-10
  • Python三种打包exe方法案例教程

    Python三种打包exe方法案例教程

    这篇文章主要介绍了Python三种打包exe方法案例教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论