前提: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(x的y次方)。
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)