python中math模块常用函数介绍 取模(取余)取绝对值 求阶乘 求最大公约数最小公倍数 取对数 取根号 取幂(取次方) 取整函数 三角函数与反三角函数

前提:import math

两个常用常量

     e = 2.718281828459045

     pi = 3.141592653589793

>>> import math
>>> math.e
2.718281828459045
>>> math.pi
3.141592653589793

取模(取余)

fmod(x,y)   返回x%y

例如:

>>> import math
>>> math.fmod(5,2)
1.0
>>> math.fmod(6,2)
0.0

取绝对值

fabs(x)   返回float x的绝对值。

例如:

>>> import math
>>> math.fabs(-1.25)
1.25
>>> math.fabs(5)
5.0

求阶乘

factorial(x) 返回x!。如果x为负数或非整数,则引发ValueError。

例如:

>>> import math
>>> math.factorial(5)
120
>>> math.factorial(-5)

Traceback (most recent call last):
  File "", line 1, in 
    math.factorial(-5)
ValueError: factorial() not defined for negative values
>>> math.factorial(5.1)

Traceback (most recent call last):
  File "", line 1, in 
    math.factorial(5.1)
ValueError: factorial() only accepts integral values

最大公约数与最小公倍数

gcd(x, y) 返回(x,y)的最大公约数。(注:gcd()不属于math模块,如要使用需要from fractions import gcd)

最小公倍数=(x*y)/gcd(x, y)

例如:

>>> from fractions import gcd
>>> gcd(6,9)
3
>>> gcd(50,60)
10
>>> 6*9/gcd(6,9)
18

求欧几里得距离

hypot(x,y)   返回欧几里德距离sqrt(x * x + y * y)

例如:

>>> import math
>>> math.hypot(3,4)
5.0
>>> math.hypot(5,10)
11.180339887498949

对数

log(x [,base])   将x的对数返回给定的基数。如果未指定基数,则返回x的自然对数(基数e)

log10(x)   返回x的基数10对数。

log1p(x)   返回1 + x(基数e)的自然对数。

exp(x)   返回自然对数e的x次方

expm1(x)   返回exp(x)-1。该函数避免了直接exp(x)-1所涉及的精度损失。

例如:

>>> import math
>>> math.log

>>> math.log(4,2)
2.0
>>> math.log(5)
1.6094379124341003
>>> math.log(5,math.e)
1.6094379124341003
>>> math.log10(100)
2.0
>>> math.log1p(5)
1.791759469228055
>>> math.log1p(4)
1.6094379124341003
>>> math.log(5)
1.6094379124341003
>>> math.exp(2)
7.38905609893065
>>> math.e**2
7.3890560989306495
>>> math.expm1(2)
6.38905609893065

取根号 取幂(取次方)

pow(x,y)   返回x ** y(xy次方)

pow(x,1.0/y)   返回对x开y次根号,即y次根号下的x的值。

sqrt(x)返回x的平方根。

例如:

>>> import math
>>> math.pow(2,3)
8.0
>>> math.pow(8,1.0/3)
2.0
>>> math.sqrt(4)
2.0

取整函数(点击链接)

三角函数与反三角函数(点击链接)

其他一些函数

copysign(x,y)  以y的符号返回x。

>>> math.copysign (2,-1)
-2.0

fsum(iterable)  返回迭代中的和值

>>> nums=[1,2,3,4,5,6,7,8,9]
>>> math.fsum (nums)
45.0

isinf(x) 检查浮点数x是否为无穷大,是返回True,否返回False

isnan(x) 检查float x是否不是数字是返回True,否返回False

>>> inf=float('inf')
>>> math.isinf(inf)
True
>>> math.isinf(1.1)
False
>>> math.isnan(1)
False
>>> math.isnan(1.25)
False

其中 float('inf') 表示正无穷

-float('inf') 或 float('-inf') 表示负无穷

其中,inf 均可以写成 Inf

ldexp(x,i)返回x *(2 ** i)

>>> math.ldexp (5,3)
40.0

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

>>> math.modf(2.5)
(0.5, 2.0)
>>> math.modf(-2.5)
(-0.5, -2.0)

 

你可能感兴趣的:(Python)