python程序设计基础之数字类型的操作math库

Python环境中默认支持的函数库,以及第三方提供需要进行安装的函数库,其中默认支持的函数库也叫做标准函数库内置函数库

复数类型常用于科学计数法,一般并不常用,因此math库不支持复数类型,仅支持整数和浮点数运算。
math库一共提供了4个数学常数和44个函数共分为4个类,包括16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数。

1、math库的数学常数

常数数学表示描述
.piπ圆周率,值为3.141592653589793
.ee自然对数,值为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)=N
gamma(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
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值