2.2.4 数学库模块 math

对于数值类型,除了加减乘除等基本运算之外,Python 还以“数学库”的形式提供了 很多数学函数,以丰富编程所需的数学计算手段。所谓“库”其实是专业程序员编写的 Python 模块,其中定义了很多有用的函数,应用程序可以使用库中的函数,就好像是应用程序自己 定义的函数一样。

为了使用数学库 math 中的函数,在程序中首先要用 import 语句导入 math 模块:

import math

导入一个模块的效果相当于将该模块中定义的函数代码拷贝到我们自己的程序中,从而当调 用库函数的时候,Python 知道这些函数是在哪里定义的。

例如,math 库中定义了一个函数 sqrt(),其功能是计算一个数的平方根。导入了 math

之后,可以通过下面的方式来使用这个函数:

>>> import math
>>> math.sqrt(16)
4.0

其中 math.sqrt()这种表示法就相当于说“调用模块 math 中的 sqrt 函数”,导致 Python 去 math 库(已导入)中查找 sqrt 函数并调用之。顺便说一下,即使没有 math 库,Python 也能计算平方根——不要忘了乘方运算符**,平方根其实就是 0.5 次方。

其实还有另一种导入模块中函数定义的方式,形如:

from math import sqrt

这条语句的含义是:从 math 模块导入 sqrt 函数的定义。这种导入方式的好处是,将来调 用 sqrt 的时候不必使用模块名作为前缀,而可以直接调用 sqrt。例如:

>>> from math import sqrt
>>> sqrt(16)
4.0

如果希望导入 math 模块中的所有定义,而非仅仅导入 sqrt 函数,则可使用如下形式:

from math import *

此处的星号表示“所有定义”的意思。

表 2.3 给出了 math 库中定义的一些数学函数和常数。

Python 含义
pi 常数pi(近似值)
e 常数 e(近似值)
sin(x) 正弦函数
cos(x) 余弦函数
tan(x) 正切函数
asin(x) 反正弦函数
acos(x) 反余弦函数
atan(x) 反正切函数
log(x) 自然对数(以 e 为底)
log10(x) 常用对数(以 10 为底)
exp(x) 指数函数 ex
ceil(x) 大于等于 x 的最小整数
floor(x) 小于等于 x 的最大整数

表 2.3 math 库中的常用函数