本文已整合到这里:Python内置数学模块全整理,易查易阅
提供了一些基础的计算功能,下列表达式默认from math import *
,默认输入输出均为一个数字。大部分函数都很直观,望文生义即可。
常见函数
常见函数 | |
---|---|
三角和反三角 | cos , sin , tan , acos , asin , atan |
atan2(x,y) =
arctan
y
x
\arctan\frac{y}{x}
arctanxy | |
双曲和反双曲 | cosh , sinh , tanh , acosh , asinh , atanh |
幂函数 | exp , sqrt , expm1(x) =
e
x
−
1
e^x-1
ex−1, pow(x,y) =
x
y
x^y
xy |
对数函数 | log , log10 , log2 , log1p(x) =
ln
(
1
+
x
)
\ln(1+x)
ln(1+x) |
log(x) =
ln
x
\ln x
lnx, log(x,y) =
log
y
x
\log_yx
logyx | |
取整 | 向上ceil , 向下floor ,实值向下取整trunc , |
isqrt(x) 相当于floor(sqrt(x)) | |
角度转换 | 转角度degrees ,转弧度radians |
拆分 | a,b = modf(x) 即x=a.b,a,b=frexp(x) 即
x
=
a
⋅
2
b
x=a\cdot2^b
x=a⋅2b |
其他函数 | 阶乘factorial ,绝对值fabs ,最小有效比特位的值ulp |
特殊函数
特殊函数 | |
---|---|
erf(x) | 误差函数, 2 π ∫ 0 x e − η 2 d η \frac{2}{\sqrt\pi}\int^x_0e^{-\eta^2}\text d\eta π2∫0xe−η2dη |
erfc(x) | 补误差函数,即1.0-erf(x) |
gamma(x) | gamma函数, ∫ 0 + ∞ t x − 1 t − t d t ( x > 0 ) \int^{+\infty}_0t^{x-1}t^{-t}\text dt(x>0) ∫0+∞tx−1t−tdt(x>0) |
lgamma(x) | gamma函数,即log(abs(gamma(x))) |
用于判断的函数
判断函数 | True 的条件 |
---|---|
isfinite(x) | x为有限的数值 |
isinf(x) | x为正负无穷大 |
isnan(x) | x为nan |
常量
常量 | π \pi π | e e e | τ = 2 π \tau=2\pi τ=2π | inf \inf inf | nan |
---|---|---|---|---|---|
值 | 3.14… | 2.71… | 6.28… | 正无穷 | 非数字 |
代码 | pi | e | tau | inf | nan |
其他函数
输入 | 输入为任意多个数值的函数 |
---|---|
整数 | 最大公约数gcd ,最小公倍数lcm |
数值 | 精确求和fsum , 欧几里得范数hypot (可理解为均方根) |
连乘prod ,可选参数start 表示初始值 |
comb(n,k)
= C n k = n ! k ! ( n − k ) ! C^k_n=\frac{n!}{k!(n-k)!} Cnk=k!(n−k)!n!,即二项系数perm(n,k)
= n ! ( n − k ) ! \frac{n!}{(n-k)!} (n−k)!n!copysign(a,b)
= ∣ a ∣ ⋅ b ∣ b ∣ |a|\cdot\frac{b}{|b|} ∣a∣⋅∣b∣bdist(p,q)
= ∑ i ( p i − q i ) 2 \sum_i(p_i-q_i)^2 ∑i(pi−qi)2ldexp(x, i)
= x ⋅ 2 i x\cdot 2^i x⋅2i- 求余数:
fmod(x,y)
,remainder(x, y)
nextafter(x, y)
,返回x趋向于y的最接近的浮点数值。
isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
- 若 a 和 b 的值比较接近则返回
True
,否则False
。 - rel_tol 是相对容差,表示a, b之间允许的最大差值。例如,要设置5%的容差,rel_tol=0.05。rel_tol 必须大于0。
- abs_tol 是最小绝对容差,其值不小于0。
- 等价于
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
python中同样内置了复数计算包,详情可见python标准库复数运算包cmath。