math模块

这个模块提供了对C标准定义的数学函数的访问

官网:https://docs.python.org/3.6/library/math.html

数论和表示函数

math.ceil

返回x的上限,即大于或等于x的最小整数如果x不是float,则委托给x.__ceil__(),它应该返回一个Integral值。

import math
#向上取整
print(math.ceil(9.3))
print(math.ceil(-9.3))

math.copysignx

返回一个浮点数,其大小(绝对值)为x,但符号为 y在支持带符号零的平台上, 返回-1.0copysign(1.0,-0.0)

import math
print(math.copysign(90,-8))
print(math.copysign(90,-1))
print(math.copysign(9,-8))

math.fabs

返回x的绝对值

math.factorial

返回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不是float,则委托给x.__floor__(),它应该返回一个Integral值。

import math
#向下取整
print(math.floor(2.9))
print(math.floor(-2.1))

math.fmodx

返回,由平台C库定义。请注意,Python表达式可能不会返回相同的结果。C标准的目的是精确地(数学地;到无限精度)等于某个整数n,使得结果具有与x相同的符号和小于的数量Python 返回带有y符号的结果,并且可能无法完全计算浮点参数。例如,是的,但是Python的结果,它不能完全表示为浮点数,并且是令人惊讶的出于这个原因,功能fmod(x, y)yfmod(x, y)n*yabs(y)yfmod(-1e-100, 1e100)-1e-100-1e-100 1e1001e100-1e-1001e100fmod()使用浮点数时通常首选,而使用整数时则首选Python y

math.frexp

返回尾数和x的指数作为对。 m是一个浮点数,e是一个完整的整数如果X为零,退货,否则这用于以便携方式“分离”浮动的内部表示。(m, e)== 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.gcda

返回整数ab的最大公约数如果 ab非零,那么值是最大的正整数,它将ab分开。 回报 gcd(a,b)gcd(0, 0)0

版本3.5中的新功能。

math.iscloseab*rel_tol = 1e-09abs_tol = 0.0 

True如果值ab彼此接近返回, False否则返回。

根据给定的绝对和相对容差确定两个值是否被认为是接近的。

rel_tol是相对容差 - 它是ab之间允许的最大差值,相对于ab的较大绝对值例如,要设置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特殊值NaNinf以及-inf将根据IEEE规则处理。具体而言,NaN不被认为接近任何其他值,包括NaN。 inf并且-inf只被认为接近自己。

版本3.5中的新功能。

也可以看看

 

PEP 485 - 用于测试近似相等的函数

math.isfinite

返回True如果X既不是无穷大也不是NaN和 False其他。(注意,这0.0 认为是有限的。)

版本3.2中的新功能。

math.isinf

如果x是正无穷大,则返回True, 否则返回False。

math.isnan

返回True如果X为NaN(非数字),以及False其他。

math.ldexpx

返回这基本上是功能的反转 (2**i)frexp()

math.modf

返回x的小数和整数部分两个结果都带有x的符号并且是浮点数。

math.trunc

Realx截断返回到 Integral(通常为整数)。代表来 x.__trunc__()

注意frexp()并且modf()它们具有与它们的C等价物不同的调用/返回模式:它们采用单个参数并返回一对值,而不是通过“输出参数”返回它们的第二个返回值(Python中没有这样的东西)。

对于ceil()floor()modf()功能,请注意,所有的 足够大的幅度的浮点数字是准确的整数。蟒漂浮通常携带没有精度超过53位(相同于平台C双键型),在这种情况下任何浮点数X 一定没有小数位。abs(x) >= 2**52

指数和对数函数

math.exp

返回e**x

math.expm1

返回对于小浮点数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[base 

使用一个参数,返回x的自然对数(到基数e)。

使用两个参数,将x的对数返回给定的基数,计算方式为log(x)/log(base)

math.log1p

返回1 + x(基数e的自然对数结果以对于接近零的x精确的方式计算

math.log2

返回x的base-2对数这通常比准确更准确 log(x, 2)

版本3.3中的新功能。

也可以看看

 

int.bit_length() 返回表示二进制整数所需的位数,不包括符号和前导零。

math.log10

返回x的基数为10的对数这通常比准确更准确log(x, 10)

math.powx

回归x提升到了权力y特殊情况尽可能遵循C99标准的附录'F'。特别是,即使是零或NaN , 总是返回如果两个是有限的, 是负的,而不是整数然后 是未定义的,并提高pow(1.0, x)pow(x,0.0)1.0xxyxypow(x, y)ValueError

与内置**运算符不同,math.pow()将其参数转换为type float使用**或内置 pow()函数来计算精确的整数幂。

math.sqrt

返回x的平方根

三角函数

math.acos

以弧度为单位返回x的反余弦值

math.asin

以弧度为单位返回x的反正弦值

math.atan

以弧度为单位返回x的反正切值

math.atan2y

以弧度返回结果是在之间从原点到点的平面中的矢量使该角度为正X轴。关键是两个输入的符号都是已知的,因此它可以计算角度的正确象限。例如,并且都是,但就是atan(y x)-pipi(x,y)atan2()atan(1)atan2(1, 1)pi/4atan2(-1, -1)-3*pi/4

math.cos

返回x弧度的余弦值

math.hypotx

返回欧几里德范数,这是从原点到点的矢量长度sqrt(x*x y*y)(x, y)

math.sin

返回x弧度的正弦值

math.tan

返回x弧度的正切值

9.2.4。角度转换

math.degrees

将角度x从弧度转换为度数。

math.radians

将角度x从度数转换为弧度。

双曲函数

双曲函数 是三角函数的类似物,它们基于双曲线而不是圆。参考链接:https://baike.baidu.com/item/%E5%8F%8C%E6%9B%B2%E5%87%BD%E6%95%B0/8704306?fr=aladdin

math.acosh

返回x的反双曲余弦值

math.asinh

返回x的反双曲正弦值

math.atanh

返回x的反双曲正切

math.cosh

返回x的双曲余弦值

math.sinh

返回x的双曲正弦值

math.tanh

返回x的双曲正切值

特殊功能

math.erf

返回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处的互补误差函数互补误差函数被定义为 它用于x的大值,其中从1减去会导致重要性损失1.0 erf(x)

版本3.2中的新功能。

math.gamma

x处 返回Gamma函数

版本3.2中的新功能。

math.lgamma

在返回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')

posted @ 2019-06-26 00:03  码迷-wjz  阅读(289)  评论(0)    收藏  举报