Python的math模块

Python的math模块

ceil(x)

返回整数

>>> math.ceil(-1.273)
-1
>>> math.ceil(1.33)
2
copysign(x,y)

把y的符号给x,y可以是0

>>> math.copysign(12, -0.0)
-12.0
>>> math.copysign(-27, 29)
27.0
fabs(x)

返回绝对值

>>> math.fabs(-12)
12.0
>>> math.fabs(12)
12.0
factorial(x)

返回阶乘的数

>>> math.factorial(3)
6
>>> math.factorial(4)
24
floor(x)

取整数

>>> math.floor(1.23)
1
>>> math.floor(1.6)
1
fmod(x,y)

返回余数

>>> math.fmod(12,3)
0.0
>>> math.fmod(2,3)
2.0
frexp(x)

返回一个(m,e)的元组,其中x=m*2**e,0.5<=abs(m)<1

>>> math.frexp(5)
(0.625, 3)
>>> math.frexp(124)
(0.96875, 7)
fsum(iterable)

对迭代器里面的所有元素进行求和

>>> math.fsum([1.2, 3.4, 2.5])
7.1
>>> math.fsum((i for i in range(10)))
45.0
gcd(x,y)

求x和y的最大公约数

>>> math.gcd(15,10)
5
>>> math.gcd(100,25)
25
isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

判断x和y的值是否相近,rel_tol是最大绝对值,abs_tol是最小绝对值

>>> math.isclose(12, 12.3, rel_tol = 2, abs_tol = 1)
True
>>> math.isclose(1, 2.3, rel_tol = 3, abs_tol = 1)
True
isfinite(x)

判断是否为无穷大或负无穷大,如果不是则返回True

>>> math.isfinite(3)
True
isinf(x)

判断是否为无穷大或负无穷大,如果是则返回True

>>> math.isinf(2)
False
isnan(x)

如果不是数字,返回True;如果是数字,返回False

>>> math.isnan(2)
False
ldexp(x,i)

返回x*(2**i)

>>> math.ldexp(2,1)
4.0
>>> math.ldexp(3,3)
24.0
modf(x)

返回一个(a,b)的元组,a是x的小数部分,b是x的整数部分

>>> math.modf(2.13)
(0.1299999999999999, 2.0)
>>> math.modf(3)
(0.0, 3.0)
>>> math.modf(1.2)
(0.19999999999999996, 1.0)
trunc(x)

返回整数部分

>>> math.trunc(1.23)
1
>>> math.trunc(0.123)
0
exp(x)

相当于math.e**x,不过更加精确

>>> math.exp(2)
7.38905609893065
>>> math.exp(1)
2.718281828459045
expml(x)

相当于exp(x)-1,不过更加精确

>>> math.exp(1e-5)-1
1.0000050000069649e-05
>>> math.expm1(1e-5)
1.0000050000166667e-05
log(x[, base])

取对数,base默认是常数e

>>> math.log(4, 2)
2.0
>>> math.log(math.e)
1.0
loglp(x)

取以math.e为底x+1的对数

>>> math.log1p(math.e-1)  ##其中是数字"1",不是字母"l"
1.0
log2(x)

相当于log(x,2)不过更加精确

>>> math.log2(3)
1.584962500721156
>>> math.log(3,2)
1.5849625007211563
log10(x)

相当于log(x,2)不过更加精确

>>> math.log10(10)
1.0
>>> math.log10(100)
2.0
pow(x,y)

返回x的y次幂

>>> math.pow(2, 4)
16.0
sqrt(x)

开平方根

>>> math.sqrt(4)
2.0
>>> math.sqrt(16)
4.0
acos(x)

反cos函数

>>> math.acos(0.5)
1.0471975511965979
>>> math.pi/3
1.0471975511965976
asin(x)

反sin函数

>>> math.asin(0.5)
0.5235987755982989
>>> math.pi/6
0.5235987755982988
atan(x)

反tan函数

>>> math.atan(1)
0.7853981633974483
>>> math.pi/4
0.7853981633974483
atan2(y,x)

矢量(x,y)与x的夹角,即tan(y/x)的大小

>>> math.atan2(1,1)
0.7853981633974483
>>> math.pi/4
0.7853981633974483
cos(x)
>>> math.cos(0)
1.0
>>> math.cos(math.pi/3)
0.5000000000000001
hypot(x,y)

(x,y)到原点的距离

>>> math.hypot(3,4)
5.0
>>> math.hypot(5,12)
13.0
sin(x)
>>> math.sin(math.pi/2)
1.0
>>> math.sin(math.pi/6)
0.49999999999999994
tan(x)
>>> math.tan(0)
0.0
>>> math.tan(math.pi/4)
0.9999999999999999
degrees(x)

把弧度转换为角度

>>> math.degrees(math.pi/2)
90.0
>>> math.degrees(math.pi/3)
59.99999999999999
radians(x)

把角度转换为弧度

>>> math.radians(90)
1.5707963267948966
>>> math.radians(30)
0.5235987755982988
三角函数双曲线
acosh(x)
asinh(x)
atanh(x)
cosh(x)
sinh(x)
tanh(x
erf(x)

Φ ( x ) = 1 2 π ∫ − ∞ x e − t 2 2 d t \varPhi \left( x \right) =\frac{1}{\sqrt{2\pi}}\int_{-\infty}^x{e^{\frac{-t^2}{2}}}dt Φ(x)=2π 1xe2t2dt

>>> math.erf(100)
1.0
>>> math.erf(100000)
1.0
>>> math.erf(0.123)
0.1380938816903886
erfc(x)

等同于1.0-erf(x)

>>> math.erf(0.5)
0.5204998778130465
>>> math.erfc(0.5)
0.4795001221869534
>>> math.erf(0.5)+math.erfc(0.5)
1.0
gamma(x)

Γ ( x ) = ∫ 0 + ∞ t x − 1 e − t d t \varGamma \left( x \right) =\int_0^{+\infty}{t^{x-1}e^{-t}dt} Γ(x)=0+tx1etdt

>>> math.gamma(100)
9.332621544394415e+155
>>> math.gamma(45)
2.658271574788449e+54
lgamma(x)

gamma函数的以常数e为底对数

>>> math.lgamma(100)
359.1342053695754
>>> math.lgamma(666)
3661.5273394029496
pi
e
tau

等同于2*pi

inf

无穷大

nan

等同于“not a number”

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值