Python环境中默认支持的函数库,以及第三方提供需要进行安装的函数库,其中默认支持的函数库也叫做标准函数库或内置函数库。
复数类型常用于科学计数法,一般并不常用,因此math库不支持复数类型,仅支持整数和浮点数运算。
math库一共提供了4个数学常数和44个函数共分为4个类,包括16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数。
1、math库的数学常数
常数 | 数学表示 | 描述 |
---|---|---|
.pi | π | 圆周率,值为3.141592653589793 |
.e | e | 自然对数,值为2.718281828459045 |
.inf | ∞ | 正无穷大,负无穷大为-math.inf |
.nan | 非浮点数标记,NaN(Not a Number) |
2、math库的数值表示函数
常数 | 数学表示 | 描述 |
---|---|---|
ceil(x) | [x] | 对浮点数向上取整 |
floor(x) | [x] | 对浮点数向下取整 |
fabs(x) | |x| | 返回x的绝对值 |
fmod(x,y) | x%y | 返回x与y的模 |
fsum([x,y,z,……]) | x+y+z+…… | 浮点数精确求和 |
factorial(x) | x! | 返回x的阶乘,如果x是小数或负数,返回ValueError |
gcd(a,b) | 返回a,b的最大公约数 | |
frexp(x) | x=m*2^e | 返回(m,e),当x=0,返回(0.0,0) |
idexp(x) | x*2^i | 返回 x*2^i运算值,frexp(x)的反运算 |
modf(x) | 返回x的小数和整数部分 | |
trunc(x) | 返回x的整数部分 | |
copysign(x,y) | |x|*|y|/y | 用数值y的正负号替换数值x的正负号 |
isclose(a,b) | 比较a和b的相似性,返回True或False | |
infinite(x) | 当x不是无穷大或NaN,返回True;否则,返回False | |
isinf(x) | 当x为正负无穷大,返回True;否则,返回False | |
isnan(x) | 当x是NaN,返回True;否则,返回False |
重点:上次讲直接进行浮点数计算会有误差产生,所以建议采用math库提供的函数进行计算。
0.1+0.2+0.3
0.6000000000000001
>>> from math import *
>>> fsum([0.1,0.2,0.3])
0.6
3、math库的幂对数函数
函数 | 数学表示 | 描述 |
---|---|---|
pow(x,y) | x^y | 返回x^y的y次幂 |
exp(x) | e^x | 返回e的x次幂,e是自然对数值 |
expm1(x) | e^x -1 | 返回e的x次幂减1 |
sqrt(x) | 返回x的平方根 | |
log(x[,base]) | log base ( x) | 返回x的对数值,只输入x时,只输入x时返回自然对数,ln(x) |
log1p(x) | ln(1+x) | 返回1+x的自然对数值 |
loig2(x) | log2(x) | 返回x的2对数值 |
log10(x) | log10(x) | 返回x的10对数值 |
pow的调用
>>> pow(10,1/3)
2.154434690031884
>>> log(2,10)
0.30102999566398114
4、math库的三角运算函数
函数 | 数学表示 | 描述 |
---|---|---|
degrees(x) | 角度x的弧度值转角度值 | |
radians(x) | 角度x的角度值转弧度值 | |
hypot(x,y) | 返回(x,y)坐标到原点(0,0)的距离 | |
sin(x) | sinx | 返回x的正弦函数值,x是弧度值 |
cos(x) | cosx | 返回x的余弦函数值,x是弧度值 |
tan(x) | tanx | 返回x的正切函数值,x是弧度值 |
asin(x) | arcsinx | 返回x的反正弦函数值,x是弧度值 |
acos(x) | arccosx | 返回x的反余弦函数值,x是弧度值 |
atan(x) | arctanx | 返回x的反正切函数值,x是弧度值 |
atan2(y,x) | arctan y/x | 返回y/x的正弦函数值,y/x是弧度值 |
sinh(x) | sinhx | 返回x的双曲正弦函数值 |
cosh(x) | coshx | 返回x的双曲余弦函数值 |
tanh(x) | tanhx | 返回x的双曲正切函数值 |
asinh(x) | arcsinhx | 返回x的反双曲正弦函数值 |
acosh(x) | arccoshx | 返回x的反双曲余弦函数值 |
atanh(x) | arctanhx | 返回x的反双曲正切函数值 |
5、math库的三角运算函数
伽玛函数(Gamma函数)可以用来计算浮点数的“阶乘”
factorial()函数只能计算非负整数的阶乘
小知识:
伽玛函数(Gamma函数),也叫欧拉第二积分,是阶乘函数在实数与复数上扩展的一类函数。该函数在分析学、概率论、偏微分方程和组合数学中有重要的应用。与之有密切联系的函数是贝塔函数,也叫第一类欧拉积分,可以用来快速计算同伽马函数形式相类似的积分。
1、(x为整数)gamma(N+1)=N*gamma(N)=N*(N-1)*(N-2)…*2*1=N!
2、(x为任意数)gamma(N+1)=Ngamma(N)
>>> gamma(11)
3628800.0
>>> gamma(-10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
>>> gamma(-10.2)
-9.184935416782052e-07
>>> gamma(0.5)
1.7724538509055159