math

Pythonmath 模块是一个提供数学运算函数和常量的标准库。它提供了广泛的数学功能,从基本的算术运算到更复杂的高级数学函数,如三角函数、对数函数、复数运算等。对于需要进行数值计算的程序来说,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)返回xy次方。浮点型
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