Python 数学公式与函数大全
Python 提供了丰富的数学计算支持,包括内置函数、标准库(math
、cmath
、numpy
)和第三方库(sympy
、scipy
)。以下是常用数学公式和函数的分类整理:
1. 基本数学运算
1.1 算术运算
运算符/函数 描述 示例 +
, -
, *
, /
加减乘除 3 + 2 → 5
//
整除 7 // 2 → 3
%
取模(余数) 7 % 2 → 1
**
幂运算 2 ** 3 → 8
abs(x)
绝对值 abs(-5) → 5
pow(x, y)
幂运算(等价于 x ** y
) pow(2, 3) → 8
round(x, n)
四舍五入(n
位小数) round(3.14159, 2) → 3.14
1.2 分数与小数
from fractions import Fraction
from decimal import Decimal# 分数运算
a = Fraction(1, 3) # 1/3
b = Fraction(1, 2) # 1/2
print(a + b) # 输出: 5/6# 高精度小数
c = Decimal('0.1') + Decimal('0.2')
print(c) # 输出: 0.3(避免浮点误差)
2. 数学函数库(math
和 cmath
)
2.1 基本函数
函数 描述 示例 math.sqrt(x)
平方根 math.sqrt(4) → 2.0
math.exp(x)
自然指数(exe**x ) math.exp(1) → 2.718...
math.log(x, base)
对数(默认自然对数) math.log(8, 2) → 3.0
math.log10(x)
以 10 为底的对数 math.log10(100) → 2.0
2.2 三角函数
函数 描述 示例 math.sin(x)
正弦(弧度制) math.sin(math.pi/2) → 1.0
math.cos(x)
余弦 math.cos(0) → 1.0
math.tan(x)
正切 math.tan(math.pi/4) → 1.0
math.degrees(x)
弧度转角度 math.degrees(math.pi) → 180.0
math.radians(x)
角度转弧度 math.radians(180) → 3.14159...
2.3 复数运算(cmath
)
import cmathz = 1 + 2j
print(cmath.sqrt(z)) # 输出: (1.272...+0.786...j)
print(cmath.phase(z)) # 辐角(弧度)
3. 高级数学库(numpy
和 scipy
)
3.1 线性代数(numpy
)
import numpy as np# 矩阵运算
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A @ B) # 矩阵乘法# 特征值与特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)
3.2 科学计算(scipy
)
from scipy.integrate import quad
from scipy.optimize import minimize# 数值积分
result, error = quad(lambda x: x**2, 0, 1) # ∫x² dx (0→1)
print(result) # 输出: 0.333...# 优化问题
res = minimize(lambda x: (x[0]-1)**2 + (x[1]-2)**2, x0=[0, 0])
print(res.x) # 最优解: [1.0, 2.0]
4. 符号计算(sympy
)
用于解析数学公式(如求导、积分、解方程):
from sympy import symbols, diff, integrate, solvex, y = symbols('x y')
expr = x**2 + 2*x + 1# 求导
print(diff(expr, x)) # 输出: 2*x + 2# 积分
print(integrate(expr, x)) # 输出: x**3/3 + x**2 + x# 解方程
solution = solve(x**2 - 4, x)
print(solution) # 输出: [-2, 2]
5. 统计与概率
5.1 随机数(random
)
import randomprint(random.random()) # [0, 1) 随机浮点数
print(random.randint(1, 10)) # 1~10 随机整数
5.2 统计计算(statistics
)
from statistics import mean, median, stdevdata = [1, 2, 3, 4, 5]
print(mean(data)) # 平均值: 3.0
print(stdev(data)) # 标准差: 1.581...
6. 特殊函数
函数 描述 示例 math.gamma(x)
Gamma 函数 math.gamma(5) → 24.0
math.erf(x)
误差函数 math.erf(1) → 0.842...
scipy.special.besselj(n, x)
贝塞尔函数 需安装 scipy
总结
需求 推荐库 示例 基本运算 内置函数 abs(-5)
三角函数/对数 math
math.sin(math.pi)
复数运算 cmath
cmath.sqrt(-1)
矩阵运算 numpy
np.linalg.inv(A)
符号计算 sympy
solve(x**2 - 1, x)
科学计算 scipy
scipy.integrate.quad
掌握这些工具后,你可以轻松实现从基础算术到复杂科学计算的各类数学任务! 🚀