math 模块
Python math
模块详解
math
模块提供了丰富的数学函数,用于执行各种数学运算,如三角函数、对数、幂运算等。该模块主要处理浮点数,但也提供了一些整数运算的支持。
1. 导入模块
import math
2. 常用数学常量
- 数学常数 π(圆周率)
pi = math.pi
print(pi) # 输出 3.141592653589793
- 数学常数 e(自然对数的底数)
e = math.e
print(e) # 输出 2.718281828459045
3. 基本数学函数
- 求绝对值
result = math.fabs(-5.3)
print(result) # 输出 5.3
- 向上取整
result = math.ceil(4.1)
print(result) # 输出 5
- 向下取整
result = math.floor(4.9)
print(result) # 输出 4
- 四舍五入
result = round(4.5)
print(result) # 输出 4 或 5 取决于 Python 版本和实现
- 幂运算
result = math.pow(2, 3) # 计算 2^3
print(result) # 输出 8.0
- 平方根
result = math.sqrt(16)
print(result) # 输出 4.0
- 求和
result = math.fsum([0.1, 0.2, 0.3])
print(result) # 输出 0.6000000000000001,比内建的 sum 准确性更高
4. 三角函数
- 正弦
result = math.sin(math.pi / 2)
print(result) # 输出 1.0
- 余弦
result = math.cos(math.pi)
print(result) # 输出 -1.0
- 正切
result = math.tan(math.pi / 4)
print(result) # 输出 1.0
- 反三角函数
result = math.asin(1)
print(result) # 输出 π/2,约为 1.5707963267948966
- 角度转换
radians = math.radians(180)
degrees = math.degrees(math.pi)
print(radians) # 输出 3.141592653589793
print(degrees) # 输出 180.0
5. 对数和指数函数
- 自然对数
result = math.log(math.e)
print(result) # 输出 1.0
- 指定底的对数
result = math.log(100, 10)
print(result) # 输出 2.0
- 10 为底的对数
result = math.log10(1000)
print(result) # 输出 3.0
- 指数函数
result = math.exp(2)
print(result) # 输出 e^2,约为 7.3890560989306495
6. 高级数学函数
- 阶乘
result = math.factorial(5)
print(result) # 输出 120
- 最大公约数
result = math.gcd(48, 64)
print(result) # 输出 16
- 最小公倍数
Python 3.9+ 中引入了 math.lcm()
函数:
result = math.lcm(12, 18)
print(result) # 输出 36
- 浮点数的分解
mantissa, exponent = math.frexp(8)
print(mantissa, exponent) # 输出 (0.5, 4)
- 浮点数与整数和小数部分的分离
frac, whole = math.modf(3.14)
print(frac, whole) # 输出 (0.14000000000000012, 3.0)
7. 特殊函数
- 误差函数
result = math.erf(1)
print(result) # 输出约为 0.8427007929497149
- 伽玛函数
result = math.gamma(5)
print(result) # 输出 24.0
总结
math
模块是 Python 中处理数学运算的核心模块之一。它提供了常用的数学运算函数、三角函数、对数函数、幂运算以及特殊函数等。熟练掌握 math
模块能够帮助你在程序中处理复杂的数学问题。