Python 中的 math 模块提供了许多常用的数学函数和常量,适用于各种数学运算,包括基本的算术运算、常用数学常量、三角函数、对数函数、数值求解等。这个模块是 Python 标准库的一部分,使用起来非常方便。
1. 常用功能和方法
1.1 常量
math.pi:圆周率,π。
import math
print(math.pi) # 3.141592653589793
math.e:自然对数的底数,e。
import math
print(math.e) # 2.718281828459045
math.inf:表示正无穷大。
import math
print(math.inf) # inf
math.nan:表示“非数”值(NaN)。
import math
print(math.nan) # nan
1.2 算术运算
math.ceil(x):返回大于或等于 x 的最小整数(向上取整)。
import math
print(math.ceil(3.2)) # 4
print(math.ceil(-3.2)) # -3
math.floor(x):返回小于或等于 x 的最大整数(向下取整)。
import math
print(math.floor(3.7)) # 3
print(math.floor(-3.7)) # -4
math.fabs(x):返回 x 的绝对值。
import math
print(math.fabs(-5.5)) # 5.5
math.factorial(x):返回 x 的阶乘(x >= 0)。
import math
print(math.factorial(5)) # 120
math.gcd(x, y):返回 x 和 y 的最大公约数(Greatest Common Divisor)。
import math
print(math.gcd(60, 48)) # 12
1.3 三角函数
math.sin(x):返回 x(弧度)正弦值。
import math
print(math.sin(math.pi / 2)) # 1.0
math.cos(x):返回 x(弧度)余弦值。
import math
print(math.cos(math.pi)) # -1.0
math.tan(x):返回 x(弧度)正切值。
import math
print(math.tan(math.pi / 4)) # 1.0
math.asin(x):返回 x 的反正弦值,结果以弧度为单位。
import math
print(math.asin(1)) # 1.5707963267948966 (即 π/2)
math.acos(x):返回 x 的反余弦值,结果以弧度为单位。
import math
print(math.acos(0)) # 1.5707963267948966 (即 π/2)
math.atan(x):返回 x 的反正切值,结果以弧度为单位。
import math
print(math.atan(1)) # 0.7853981633974483 (即 π/4)
math.degrees(x):将弧度转换为角度。
import math
print(math.degrees(math.pi)) # 180.0
math.radians(x):将角度转换为弧度。
import math
print(math.radians(180)) # 3.141592653589793
1.4 对数和指数函数
math.log(x[, base]):返回 x 对 base 的对数。如果没有提供 base,默认是自然对数(底数 e)。
import math
print(math.log(10)) # 2.302585092994046 (自然对数)
print(math.log(100, 10)) # 2.0 (以 10 为底的对数)
math.log10(x):返回以 10 为底的对数。
import math
print(math.log10(100)) # 2.0
math.log2(x):返回以 2 为底的对数。
import math
print(math.log2(8)) # 3.0
math.exp(x):返回 e 的 x 次幂。
import math
print(math.exp(1)) # 2.718281828459045 (即 e^1)
math.pow(x, y):返回 x 的 y 次幂。
import math
print(math.pow(2, 3)) # 8.0
1.5 其他数学函数
math.isqrt(x):返回非负整数 x 的整数平方根。对于负数,会引发 ValueError。
import math
print(math.isqrt(16)) # 4
math.trunc(x):返回 x 的整数部分(去掉小数部分)。
import math
print(math.trunc(3.75)) # 3
math.modf(x):将 x 分解为整数部分和小数部分,返回一个元组 (小数部分, 整数部分)。
import math
print(math.modf(3.75)) # (0.75, 3.0)
math.hypot(x, y):返回 x 和 y 的欧几里得范数,即 sqrt(x^2 + y^2)。
import math
print(math.hypot(3, 4)) # 5.0 (即 sqrt(3^2 + 4^2))
1.6 组合与排列
math.comb(n, k):返回从 n 个元素中取 k 个元素的组合数。
import math
print(math.comb(5, 2)) # 10
math.perm(n, k):返回从 n 个元素中取 k 个元素的排列数。
import math
print(math.perm(5, 2)) # 20
2. 总结
math 模块是 Python 中非常重要的数学工具库,提供了大量的数学函数和常量。它能够帮助你快速处理常见的数学计算,如三角函数、对数函数、阶乘、平方根等。如果你需要进行复杂的数学运算,math 模块是一个非常方便且高效的选择。
常见的功能包括:
基本数学运算(如取整、绝对值、阶乘等)。常用数学常量(如 pi、e)。三角函数、对数函数和指数函数。数值处理(如整数平方根、组合与排列等)。
math 模块提供的函数通常比 Python 内置的算术运算符更高效、更精确,特别是在处理浮点数时。