Python的内置模块math介绍

本文深入解析Python数学库中的常用函数,包括基本的数学常数、角度转换、指数与对数运算、幂运算、平方根、整数截断与四舍五入、绝对值与模运算、累加求和、阶乘、判断无穷大与NaN、直角边求斜边长、符号复制、浮点数分解与组合、三角函数及其反函数、双曲函数及其反函数、误差函数与余误差函数、伽玛函数与绝对值的伽玛函数等。每种函数都附有实例演示,旨在提供全面且深入的计算工具使用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 函数 说明 实例
 math.e 自然常数e >>> math.e
2.718281828459045
 math.pi 圆周率pi >>> math.pi
3.141592653589793
 math.degrees(x) 弧度转度 >>> math.degrees(math.pi)
180.0
 math.radians(x) 度转弧度 >>> math.radians(45)
0.7853981633974483
 math.exp(x) 返回e的x次方 >>> math.exp(2)
7.38905609893065
 math.expm1(x) 返回e的x次方减1 >>> math.expm1(2)
6.38905609893065
 math.log(x[, base]) 返回x的以base为底的对数,base默认为e >>> math.log(math.e)
1.0
>>> math.log(2, 10)
0.30102999566398114
 math.log10(x) 返回x的以10为底的对数 >>> math.log10(2)
0.30102999566398114
 math.log1p(x) 返回1+x的自然对数(以e为底) >>> math.log1p(math.e-1)
1.0
 math.pow(x, y) 返回x的y次方 >>> math.pow(5,3)
125.0
 math.sqrt(x) 返回x的平方根 >>> math.sqrt(3)
1.7320508075688772
 math.ceil(x) 返回不小于x的整数 >>> math.ceil(5.2)
6.0
 math.floor(x) 返回不大于x的整数 >>> math.floor(5.8)
5.0
 math.trunc(x) 返回x的整数部分 >>> math.trunc(5.8)
5
 math.modf(x) 返回x的小数和整数 >>> math.modf(5.2)
(0.20000000000000018, 5.0)
 math.fabs(x) 返回x的绝对值 >>> math.fabs(-5)
5.0
 math.fmod(x, y) 返回x%y(取余) >>> math.fmod(5,2)
1.0
 math.fsum([x, y, ...]) 返回无损精度的和 >>> 0.1+0.2+0.3
0.6000000000000001
>>> math.fsum([0.1, 0.2, 0.3])
0.6
 math.factorial(x) 返回x的阶乘 >>> math.factorial(5)
120
 math.isinf(x) 若x为无穷大,返回True;否则,返回False >>> math.isinf(1.0e+308)
False
>>> math.isinf(1.0e+309)
True
 math.isnan(x) 若x不是数字,返回True;否则,返回False >>> math.isnan(1.2e3)
False
 math.hypot(x, y) 返回以x和y为直角边的斜边长 >>> math.hypot(3,4)
5.0
 math.copysign(x, y) 若y<0,返回-1乘以x的绝对值;
 否则,返回x的绝对值
 >>> math.copysign(5.2, -1)
-5.2
 math.frexp(x) 返回m和i,满足m乘以2的i次方 >>> math.frexp(3)
(0.75, 2)
 math.ldexp(m, i) 返回m乘以2的i次方 >>> math.ldexp(0.75, 2)
3.0
 math.sin(x) 返回x(弧度)的三角正弦值 >>> math.sin(math.radians(30))
0.49999999999999994
 math.asin(x) 返回x的反三角正弦值 >>> math.asin(0.5)
0.5235987755982989
 math.cos(x) 返回x(弧度)的三角余弦值 >>> math.cos(math.radians(45))
0.7071067811865476
 math.acos(x) 返回x的反三角余弦值 >>> math.acos(math.sqrt(2)/2)
0.7853981633974483
 math.tan(x) 返回x(弧度)的三角正切值 >>> math.tan(math.radians(60))
1.7320508075688767
 math.atan(x) 返回x的反三角正切值 >>> math.atan(1.7320508075688767)
1.0471975511965976
 math.atan2(x, y) 返回x/y的反三角正切值 >>> math.atan2(2,1)
1.1071487177940904
 math.sinh(x) 返回x的双曲正弦函数 
 math.asinh(x) 返回x的反双曲正弦函数 
 math.cosh(x) 返回x的双曲余弦函数 
 math.acosh(x) 返回x的反双曲余弦函数 
 math.tanh(x) 返回x的双曲正切函数 
 math.atanh(x) 返回x的反双曲正切函数 
 math.erf(x) 返回x的误差函数 
 math.erfc(x) 返回x的余误差函数 
 math.gamma(x) 返回x的伽玛函数 
 math.lgamma(x) 返回x的绝对值的自然对数的伽玛函数 
### Python `math` 模块内置函数文档 Python 的 `math` 模块提供了许多用于数学运算的函数。这些函数允许执行更复杂的数学操作,而无需自己编写算法来实现它们。 #### 基本算术和代数功能 - **ceil(x)** 返回大于等于 x 的最小整数值。如果 x 已经是一个整数,则返回 x 自身。 ```python import math print(math.ceil(4.2)) # 输出: 5 ``` - **floor(x)** 返回小于等于 x 的最大整数值。如果 x 是一个整数,则返回 x。 ```python print(math.floor(4.7)) # 输出: 4 ``` - **fabs(x)** 返回 x 的绝对值作为浮点数。 ```python print(math.fabs(-3.5)) # 输出: 3.5 ``` - **factorial(x)** 计算给定正整数 x 的阶乘。 ```python print(math.factorial(5)) # 输出: 120 ``` - **gcd(a, b)** 返回两个整数的最大公约数。 ```python print(math.gcd(60, 90)) # 输出: 30 ``` #### 幂指数与对数计算 - **exp(x)** e 的 x 次幂(e^x),其中e ≈ 2.718281...是自然对数底数。 ```python print(math.exp(1)) # 输出接近于 2.718281... ``` - **log(x[, base])** 使用可选参数base指定基数,默认情况下使用的是自然对数(即以 e 为底)。也可以通过提供第二个参数来自定义其他基数的日志。 ```python print(math.log(math.e)) # 输出: 1.0 print(math.log(100, 10)) # 输出: 2.0 ``` - **pow(x, y)** 将 x 提升到 y 的次方。 ```python print(math.pow(2, 3)) # 输出: 8.0 ``` - **sqrt(x)** 开平方根。 ```python print(math.sqrt(16)) # 输出: 4.0 ``` #### 三角学支持 - **acos(x), asin(x), atan(x)** 反余弦、反正弦以及反正切函数分别对应这三个方法。 ```python angle = math.acos(0.5) # 获取角度弧度制表示形式 print(angle * (180 / math.pi)) # 转换成度数输出约等于 60 度 ``` - **cos(x), sin(x), tan(x)** 正常的余弦、正弦及正切函数。 ```python print(math.cos(math.radians(60))) # 输入角度需转换成弧度再求解 ``` - **degrees(x), radians(x)** 这些辅助工具可以方便地在角度之间相互转化。 ```python radian_value = math.radians(180) degree_value = math.degrees(radian_value) print(degree_value) # 输出: 180.0 ``` #### 特殊值处理 - **inf 和 nan** 表达无穷大(`math.inf`) 或者不是数字 (`math.nan`) 的概念,在某些极限情况下的计算可能会用到这两个特殊值。 ```python print(float('inf') == math.inf) # True print(float('nan') != float('nan')) # True; NaN does not equal anything. ``` 以上只是部分常用的功能介绍[^1]。对于完整的 API 文档和其他高级特性,请查阅官方资料获取更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值