math模块
这个模块提供了对C标准定义的数学函数的访问
官网:https://docs.python.org/3.6/library/math.html
数论和表示函数
math.ceil(x )
-
返回x的上限,即大于或等于x的最小整数。如果x不是float,则委托给
x.__ceil__(),它应该返回一个Integral值。import math #向上取整 print(math.ceil(9.3)) print(math.ceil(-9.3))
math.copysign(x,y )
-
返回一个浮点数,其大小(绝对值)为x,但符号为 y。在支持带符号零的平台上, 返回-1.0。
copysign(1.0,-0.0)import math print(math.copysign(90,-8)) print(math.copysign(90,-1)) print(math.copysign(9,-8))
math.fabs(x )
-
返回x的绝对值。
math.factorial(x )
-
返回x阶乘。
ValueError如果x不是整数或是负数,则引发。import math print(math.factorial(5)) try: print(math.factorial(-5)) except BaseException as e: print(e)
math.floor(x )
-
返回x的最小值,小于或等于x的最大整数。如果x不是float,则委托给
x.__floor__(),它应该返回一个Integral值。import math #向下取整 print(math.floor(2.9)) print(math.floor(-2.1))
math.fmod(x,y )
-
返回,由平台C库定义。请注意,Python表达式可能不会返回相同的结果。C标准的目的是精确地(数学地;到无限精度)等于某个整数n,使得结果具有与x相同的符号和小于的数量。Python 返回带有y符号的结果,并且可能无法完全计算浮点参数。例如,是的,但是Python的结果是,它不能完全表示为浮点数,并且是令人惊讶的。出于这个原因,功能
fmod(x, y)x % yfmod(x, y)x - n*yabs(y)x % yfmod(-1e-100, 1e100)-1e-100-1e-100 % 1e1001e100-1e-1001e100fmod()使用浮点数时通常首选,而使用整数时则首选Python 。x % y
math.frexp(x )
-
返回尾数和x的指数作为对。 m是一个浮点数,e是一个完整的整数。如果X为零,退货,否则。这用于以便携方式“分离”浮动的内部表示。
(m, e)x == m * 2**e(0.0, 0)0.5 <= abs(m) < 1
math.fsum(iterable)
-
返回迭代中的精确浮点值。通过跟踪多个中间部分和来避免精度损失:
>>> sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 0.9999999999999999 >>> fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 1.0该算法的准确性取决于IEEE-754算术保证和舍入模式为半偶的典型情况。在某些非Windows版本中,底层C库使用扩展精度添加,并且有时可能会使中间和加倍,导致它在最低有效位中关闭。
有关进一步讨论和两种替代方法,请参阅ASPN烹饪手册中的准确浮点求和方法。
math.gcd(a,b )
-
返回整数a和b的最大公约数。如果 a或b非零,那么值是最大的正整数,它将a和b分开。 回报 。
gcd(a,b)gcd(0, 0)0版本3.5中的新功能。
math.isclose(a,b,*,rel_tol = 1e-09,abs_tol = 0.0 )
-
True如果值a和b彼此接近则返回,False否则返回。根据给定的绝对和相对容差确定两个值是否被认为是接近的。
rel_tol是相对容差 - 它是a和b之间允许的最大差值,相对于a或b的较大绝对值。例如,要设置5%的容差,请通过
rel_tol=0.05。默认容差为1e-09,确保两个值在大约9个十进制数字内相同。 rel_tol必须大于零。abs_tol是最小绝对容差 - 对于接近零的比较很有用。abs_tol必须至少为零。
如果没有错误发生,结果将是: 。
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)的IEEE 754特殊值
NaN,inf以及-inf将根据IEEE规则处理。具体而言,NaN不被认为接近任何其他值,包括NaN。inf并且-inf只被认为接近自己。版本3.5中的新功能。
也可以看看
PEP 485 - 用于测试近似相等的函数
math.isfinite(x )
-
返回
True如果X既不是无穷大也不是NaN和False其他。(注意,这0.0被认为是有限的。)版本3.2中的新功能。
math.isinf(x )
-
如果x是正无穷大,则返回True, 否则返回False。
math.isnan(x )
-
返回
True如果X为NaN(非数字),以及False其他。
math.ldexp(x,i )
-
返回。这基本上是功能的反转 。
x * (2**i)frexp()
math.modf(x )
-
返回x的小数和整数部分。两个结果都带有x的符号并且是浮点数。
math.trunc(x )
-
将
Real值x截断返回到Integral(通常为整数)。代表来x.__trunc__()。
注意frexp()并且modf()它们具有与它们的C等价物不同的调用/返回模式:它们采用单个参数并返回一对值,而不是通过“输出参数”返回它们的第二个返回值(Python中没有这样的东西)。
对于ceil(),floor()和modf()功能,请注意,所有的 足够大的幅度的浮点数字是准确的整数。蟒漂浮通常携带没有精度超过53位(相同于平台C双键型),在这种情况下任何浮点数X与 一定没有小数位。abs(x) >= 2**52
指数和对数函数
math.exp(x )
-
返回
e**x。
math.expm1(x )
-
返回。对于小浮点数x,减法 可导致精度的显着损失 ; 该 函数提供了一种将此数量计算为完全精度的方法:
e**x - 1exp(x) - 1expm1()>>> from math import exp, expm1 >>> exp(1e-5) - 1 # gives result accurate to 11 places 1.0000050000069649e-05 >>> expm1(1e-5) # result accurate to full precision 1.0000050000166668e-05版本3.2中的新功能。
math.log(x [,base ] )
-
使用一个参数,返回x的自然对数(到基数e)。
使用两个参数,将x的对数返回给定的基数,计算方式为
log(x)/log(base)。
math.log1p(x )
-
返回1 + x(基数e)的自然对数。结果以对于接近零的x精确的方式计算。
math.log2(x )
-
返回x的base-2对数。这通常比准确更准确 。
log(x, 2)版本3.3中的新功能。
也可以看看
int.bit_length()返回表示二进制整数所需的位数,不包括符号和前导零。
math.log10(x )
-
返回x的基数为10的对数。这通常比准确更准确。
log(x, 10)
math.pow(x,y )
-
回归
x提升到了权力y。特殊情况尽可能遵循C99标准的附录'F'。特别是,即使是零或NaN , 也总是返回。如果两个和是有限的, 是负的,而不是整数然后 是未定义的,并提高。pow(1.0, x)pow(x,0.0)1.0xxyxypow(x, y)ValueError与内置
**运算符不同,math.pow()将其参数转换为typefloat。使用**或内置pow()函数来计算精确的整数幂。
math.sqrt(x )
-
返回x的平方根。
三角函数
math.acos(x )
-
以弧度为单位返回x的反余弦值。
math.asin(x )
-
以弧度为单位返回x的反正弦值。
math.atan(x )
-
以弧度为单位返回x的反正切值。
math.atan2(y,x )
-
以弧度返回。结果是在和之间。从原点到点的平面中的矢量使该角度为正X轴。关键是两个输入的符号都是已知的,因此它可以计算角度的正确象限。例如,并且都是,但就是。
atan(y / x)-pipi(x,y)atan2()atan(1)atan2(1, 1)pi/4atan2(-1, -1)-3*pi/4
math.cos(x )
-
返回x弧度的余弦值。
math.hypot(x,y )
-
返回欧几里德范数,。这是从原点到点的矢量长度。
sqrt(x*x + y*y)(x, y)
math.sin(x )
-
返回x弧度的正弦值。
math.tan(x )
-
返回x弧度的正切值。
9.2.4。角度转换
math.degrees(x )
-
将角度x从弧度转换为度数。
math.radians(x )
-
将角度x从度数转换为弧度。
双曲函数
双曲函数 是三角函数的类似物,它们基于双曲线而不是圆。参考链接:https://baike.baidu.com/item/%E5%8F%8C%E6%9B%B2%E5%87%BD%E6%95%B0/8704306?fr=aladdin。
math.acosh(x )
-
返回x的反双曲余弦值。
math.asinh(x )
-
返回x的反双曲正弦值。
math.atanh(x )
-
返回x的反双曲正切。
math.cosh(x )
-
返回x的双曲余弦值。
math.sinh(x )
-
返回x的双曲正弦值。
math.tanh(x )
-
返回x的双曲正切值。
特殊功能
math.erf(x )
-
返回x处 的错误函数。
该
erf()函数可用于计算传统的统计函数,如累积标准正态分布:def phi(x): 'Cumulative distribution function for the standard normal distribution' return (1.0 + erf(x / sqrt(2.0))) / 2.0版本3.2中的新功能。
math.erfc(x )
math.gamma(x )-
在x处 返回Gamma函数。
版本3.2中的新功能。
math.lgamma(x )
-
在返回Gamma函数的绝对值的自然对数X。
版本3.2中的新功能。
常数
math.pi
-
数学常数π= 3.141592 ...,可用精度。
math.e
-
数学常数e = 2.718281 ...,达到可用的精度。
math.tau
-
数学常数τ= 6.283185 ......,可达到精度。Tau是一个等于2π的圆常数,是圆周长与半径之比。要了解有关Tau的更多信息,请查看Vi Hart的视频Pi(仍然)错误,并开始通过吃两倍的馅饼庆祝 Tau日!
版本3.6中的新功能。
math.inf
-
浮点正无穷大。(对于负无穷大,请使用
-math.inf。)相当于。的输出float('inf')。版本3.5中的新功能。
math.nan
-
浮点“非数字”(NaN)值。相当于。的输出
float('nan')。

浙公网安备 33010602011771号