math 模块
math
模块提供了 C 标准定义的数学函数和常量。
常量
math
模块中提供了以下常用的数学常量:
pi
:π = 3.141592…
(达到可用精度)e
:e = 2.718281…
(达到可用精度)tau
:τ = 2π = 6.283185…
(达到可用精度)inf
: 浮点正无穷大nan
: 浮点“非数字”(Not a Number)
python
>>> import math
>>> math.pi
3.141592653589793
>>> math.e
2.718281828459045
>>> math.tau
6.283185307179586
>>> math.inf
inf
>>> math.nan
nan
函数
math
模块中提供了以下有用的数学函数:
fabs()
fabs(x)
返回 x
的绝对值 (浮点数)。
python
>>> import math
>>> math.fabs(-3.24)
3.24
gcd() (Python 3.5+)
gcd(a, b, ...)
返回整数 a
, b
等的最大公约数 (GCD)。(3.9+ 支持多个参数)
python
>>> import math
>>> math.gcd(54, 24)
6
>>> math.gcd(54, 24, 36) # Python 3.9+
6
ceil()
ceil(x)
返回大于或等于 x
的最小整数。
python
>>> import math
>>> math.ceil(2.13)
3
floor()
floor(x)
返回小于或等于 x
的最大整数。
python
>>> import math
>>> math.floor(2.13)
2
fmod()
fmod(x, y)
返回表达式 x - n*y
的值,使得结果与 x
具有相同的符号,并且对于某个整数 n
,其大小小于 |y|
。
与 x % y
相比,在处理浮点数时应首选此函数,x % y
应用于处理整数。fmod
的结果符号与 x
相同,%
的结果符号与 y
相同。
python
>>> import math
>>> math.fmod(2.14, 0.5)
0.14000000000000012
>>> math.fmod(-2.14, 0.5)
-0.14000000000000012
>>> -2.14 % 0.5
0.3599999999999999 # 符号与 y (0.5) 相同
pow()
pow(x, y)
将 x
提升到 y
的幂 (结果为浮点数)。
python
>>> import math
>>> math.pow(5, 2)
25.0
sqrt()
sqrt(x)
返回 x
的平方根。
python
>>> import math
>>> math.sqrt(25)
5.0
sin(), cos() & tan()
sin(x)
、cos(x)
和 tan(x)
分别返回 x
(弧度)的正弦、余弦和正切值。
python
>>> import math
>>> math.cos(math.pi/3) # cos(60°) = 0.5
0.5000000000000001
>>> math.sin(math.pi/2) # sin(90°) = 1
1.0
>>> math.tan(math.pi/4) # tan(45°) = 1
0.9999999999999999
factorial()
factorial(n)
计算非负整数 n
的阶乘,即所有小于或等于 n
的正整数的乘积。 n! = n×(n-1)×(n-2)...3×2×1
, 其中 0! = 1
python
>>> import math
>>> math.factorial(5)
120
>>> math.factorial(0)
1