当前位置: 首页 > news >正文

python math数学运算模块

十分想念顺店杂可。。。

Python 的math模块是标准库中用于数学运算的核心模块,提供了大量基础和高级数学函数,适用于科学计算、工程应用等场景。使用前需先导入:import math

一、常用常数

math模块定义了几个常用数学常数:

  • math.pi:圆周率 π(约 3.1415926535...)
  • math.e:自然常数 e(约 2.7182818284...)
  • math.tau:圆周率的 2 倍(2π,约 6.283185307...)
  • math.inf:正无穷大(负无穷大为-math.inf
  • math.nan:非数字(Not a Number,用于表示无效数值)

二、基本数学运算

1. 幂与开方
  • math.pow(x, y):计算 x 的 y 次幂(返回浮点数,与**运算符类似但更严格,不支持整数幂优化)
  • math.sqrt(x):计算 x 的平方根(x 必须≥0)
  • math.exp(x):计算 e 的 x 次幂(eˣ)

示例:

import mathprint(math.pow(2, 3))   # 8.0(2的3次方)
print(math.sqrt(25))    # 5.0(25的平方根)
print(math.exp(1))      # 2.718281828459045(e的1次方)
2. 绝对值与符号
  • math.fabs(x):返回 x 的绝对值(始终为浮点数,与内置abs()不同,abs()可返回整数)
  • math.copysign(x, y):返回 x 的绝对值,但符号与 y 一致

示例:

print(math.fabs(-3.5))   # 3.5
print(math.copysign(5, -2))  # -5.0(值为5,符号与-2一致)

三、三角函数(参数为弧度)

math模块的三角函数参数均为弧度,若需使用角度,需先用math.radians(angle)转换。

  • 基础三角函数:math.sin(x)math.cos(x)math.tan(x)
  • 反三角函数:math.asin(x)math.acos(x)math.atan(x)
  • 角度 / 弧度转换:math.radians(deg)(角度转弧度)、math.degrees(rad)(弧度转角度)

示例:

# 计算30度的正弦值(先转弧度)
deg = 30
rad = math.radians(deg)
print(math.sin(rad))  # 0.49999999999999994(约等于0.5)# 计算π/4弧度的正切值(45度)
print(math.tan(math.pi / 4))  # 0.9999999999999999(约等于1)

四、对数与指数

  • math.log(x[, base]):计算以 base 为底 x 的对数(默认 base=e,即自然对数)
  • math.log10(x):计算以 10 为底 x 的对数(常用对数)
  • math.log2(x):计算以 2 为底 x 的对数(Python 3.3+)

示例:

print(math.log(math.e))    # 1.0(自然对数,ln(e)=1)
print(math.log10(100))     # 2.0(lg(100)=2)
print(math.log2(8))        # 3.0(log₂(8)=3)

五、取整与截断

  • math.ceil(x):向上取整(返回大于等于 x 的最小整数)
  • math.floor(x):向下取整(返回小于等于 x 的最大整数)
  • math.trunc(x):截断小数部分(仅保留整数部分,与int(x)类似但返回浮点数)

示例:

print(math.ceil(2.3))   # 3
print(math.floor(2.7))  # 2
print(math.trunc(-3.9)) # -3.0

六、其他常用函数

  • math.factorial(x):计算 x 的阶乘(x 必须为非负整数)
  • math.gcd(a, b):计算 a 和 b 的最大公约数(Python 3.5+,a、b 为非负整数)
  • math.lcm(a, b):计算 a 和 b 的最小公倍数(Python 3.9+,a、b 为正整数)
  • math.hypot(x, y):计算直角三角形的斜边长度(√(x²+y²))

示例:

print(math.factorial(5))   # 120(5! = 5×4×3×2×1)
print(math.gcd(12, 18))    # 6(12和18的最大公约数)
print(math.lcm(4, 6))      # 12(4和6的最小公倍数)
print(math.hypot(3, 4))    # 5.0(3-4-5直角三角形的斜边)

注意事项

  1. math模块函数主要处理浮点数,输入整数会自动转换为浮点数返回。
  2. 部分函数有输入限制(如sqrt(x)要求 x≥0),超出范围会抛出ValueError
  3. 对于复数运算,需使用cmath模块(import cmath),math模块不支持复数。

更多函数可参考 Python 官方文档:math — 数学函数。

http://www.dtcms.com/a/333434.html

相关文章:

  • 【AI论文】Story2Board:一种无需训练的富有表现力故事板生成方法
  • Numerical Difference between vLLM logprobs and huggingface logprobs
  • windows下hashcat使用gpu破解execl打开密码
  • 深入Amazon DynamoDB:高效、无缝的数据存储解决方案
  • 项目生命周期
  • Python爬虫大师课:HTTP协议深度解析与工业级请求封装
  • k8s环境使用Operator部署Seaweedfs集群(一)
  • STM32传感器模块编程实践(十四)DIY语音+满溢检测智能垃圾桶模型
  • SD-WAN核心特点有哪些,适用哪些场景?
  • Rust 入门 泛型和特征-深入特征 (十五)
  • 【Cuda 编程思想】LinearQaunt-分块量化矩阵乘法计算过程
  • 关系型数据库核心组件:视图、函数与存储引擎详解
  • 分布式锁那些事
  • 机器学习中的PCA降维
  • ubuntu 20.04 搭建多用户远程桌面共享及同时在线使用
  • langGraph--2--langServe+langGraph示例
  • 云原生俱乐部-k8s知识点归纳(3)
  • Spark03-RDD01-简介+常用的Transformation算子
  • Rust 中 Box 的深度解析:作用、原理与最佳实践
  • 图解软件知识库体系
  • MiniSetupGetCdType函数分析之CDTYPE三种零售版oem版vol版
  • MMU 的资料收集
  • 【DDIA】第九章:一致性与共识
  • IDEA插件选择和设置优化指南(中英双版)
  • 永磁同步电机控制 第一篇、认识电机
  • 【原创理论】Stochastic Coupled Dyadic System (SCDS):一个用于两性关系动力学建模的随机耦合系统框架
  • STM32如何定位HardFault错误,一种实用方法
  • 进程和线程 (线程)
  • C#内嵌字符串格式化输出
  • C语言实现类似C#的格式化输出