math
Python
的 math
模块是一个提供数学运算函数和常量的标准库。它提供了广泛的数学功能,从基本的算术运算到更复杂的高级数学函数,如三角函数、对数函数、复数运算等。对于需要进行数值计算的程序来说,math
模块是一个非常有用的工具。
本教程面向的年龄段偏低,所以这里只介绍一些简单的函数和常量。
常量
math.pi
: 圆周率,值约为3.141592653589793
math.e
: 自然对数的底数,也叫自然常数,值约为2.718281828459045
math.inf
:表示无穷大math.nan
: 表示不是一个数字(NAN)
基本算术运算
在下面介绍的math
模块中的函数,基本的算术运算都是在实数范围内的,即所有的数 x
都属于 R
.
$$ x \in \mathbb{R} $$
函数名 | 说明 | 返回值 |
---|---|---|
sqrt(x) | 返回x 的平方根,如果x 是负数,会抛出 ValueError | 浮点型 |
pow(x, y) | 返回x 的y 次方。 | 浮点型 |
fmod(x, y) | 返回x 除以y 的余数。 | 浮点型 |
ceil(x) | 返回大于等于x 的最小整数,向上取整 | 整型 |
floor(x) | 返回小于等于x 的最大整数,向下取整 | 整型 |
trunc(x) | 返回x 的整数部分,去掉小数部分 | 整型 |
sqrt
上面已经提到过了,math
模块只针对实数范围内的数,所以sqrt
的参数x
必须为正数才可以得出一个返回值。
>>> import math as m
>>> print(m.sqrt(100))
10.0
pow
pow
的功能与运算符**
相同,但是它只会返回浮点数。
>>> import math as m
>>> print(m.pow(10, 2))
100.0
>>> print(10**2)
100
fmod
fmod
的功能与%
相同,但是它也只会返回浮点数。
>>> import math as m
>>> print(m.fmod(10, 4))
2.0
>>> print(10%4)
2
另外,运算符%
的结果符号是要与除数保持一致的,但fmod
则正好相反,返回值的符号与被除数一致。
>>> print(m.fmod(10, -3))
1.0
>>> print(m.fmod(-10, 3))
-1.0
>>> print(10 % (-3))
-2
>>> print(-10 % 3)
2
取整函数 ceil / floor / trunc
需要特别注意的是,这几个对数值取整的函数并不是进行四舍五入,所以不要与内置函数round
混淆。
>>> import math as m
>>> print(m.ceil(4.3))
5
>>> print(m.floor(4.7))
4
>>> print(m.trunc(4.22))
4
三角函数
在math
模块的三角函数中,参数x
以弧度为单位。
常量math.pi
代表了数学中的π
,一个π
表示角度中的180度。
函数名 | 说明 | 返回值 |
---|---|---|
sin(x) | 返回x 的正弦值 | 浮点型 |
cos(x) | 返回x 的余弦值 | 浮点型 |
tan(x) | 返回x 的正切值 | 浮点型 |
degrees(x) | 将弧度x 转换为角度 | 浮点型 |
radians(x) | 将角度x 转换为弧度 | 浮点数 |
>>> import math as m
>>> print(m.sin(m.pi / 6)) # 30度角的正弦
0.49999999999999994
>>> print(m.cos(m.pi / 3)) # 60度角的余弦
0.5000000000000001
>>> print(m.tan(m.pi / 4)) # 45度角的正切
0.9999999999999999
>>> print(m.degrees(m.pi))
180.0
>>> print(m.radians(180))
3.141592653589793