# import math

:Python 的标准库,提供了幂运算、三角函数等数学函数。

  • 官方文档 (opens new window)
  • 这些函数支持输入 int、float 类型的数值,返回值大多为 float 类型。
  • Python 的标准库 cmath 也提供了类似的数学函数,支持输入 int、float、complex 类型的数值,返回值大多为 complex 类型。

# 常量

>>> import math
>>> math.e
2.718281828459045
>>> math.pi
3.141592653589793
>>> math.isinf(x)       # 判断 x 是否为 float('±inf')
False
>>> math.isnan(x)       # 判断 x 是否为 float('nan')
False
>>> math.isfinite(x)    # 判断 x 是否为有限的数值,即不是 float('±inf')、float('nan')
True

# 幂运算

>>> x = 3.14
>>> math.pow(2, 0.5)    # 计算 2**0.5
1.4142135623730951
>>> math.sqrt(2)        # 计算平方根
1.4142135623730951
>>> math.exp(x)         # 计算 e^x
23.103866858722185

# 对数

>>> math.log(x)         # 计算对数,函数定义为 log(x, base=math.e)
1.144222799920162
>>> math.log(x, x)
1.0

# 角度与弧度

>>> math.radians(180)   # 将角度转换成弧度
3.141592653589793
>>> math.degrees(3.14)  # 将弧度转换成角度
179.9087476710785

# 三角函数

>>> math.sin(x)         # 正弦
0.0015926529164868282
>>> math.cos(x)         # 余弦
-0.9999987317275395
>>> math.tan(x)         # 正切
-0.001592654936407223
>>> math.asin(x)        # 反正弦
ValueError: math domain error
>>> math.acos(x)
ValueError: math domain error
>>> math.atan(x)
1.2624806645994682

# 双曲函数

>>> math.sinh(x)
11.53029203041011
>>> math.cosh(x)
11.573574828312076
>>> math.tanh(x)
0.9962602049458319
>>> math.asinh(x)
1.8618125572133835
>>> math.acosh(x)
1.810991348900196
>>> math.atanh(x)
ValueError: math domain error

# 其它

>>> math.ceil(x)    # 向上取整(ceiling),即大于等于 x 的最近整数
4
>>> math.floor(x)   # 向下取整(floor),即小于等于 x 的最近整数
3