Python math详解

Python Math 是 Python 标准库中的一个模块,它提供了对数学函数的支持。该模块包含了各种用于数值计算的函数,比如三角函数、指数和对数等等。在本篇文章中,我们将详细介绍 Python Math 模块中的常见函数及其使用方法。

要使用 math 模块,需要先将其导入到你的代码中:

import math

现在你就可以使用 math 模块中提供的任何函数了。

数字取整

math 模块包含几个数字取整的函数。其中最常用的是 ceil()floor() 函数。ceil() 函数用于向上取整,返回大于或等于给定数字的最小整数;而 floor() 函数则用于向下取整,返回小于或等于给定数字的最大整数。

python
import math

x = 1.4
y = 2.6

print(math.ceil(x)) # 输出:2
print(math.floor(y)) # 输出:2

数学常量

math 模块还包括一些常见的数学常量,比如圆周率 π 和自然对数底 e 等。这些常量可在进行某些计算时非常有用。

python
import math

print(math.pi) # 输出:3.141592653589793
print(math.e) # 输出:2.718281828459045

三角函数

math 模块还提供了许多三角函数,例如 sin()、cos() 和 tan() 等。这些函数接受一个弧度值,并返回相应角度上正弦、余弦或正切值。

python
import math

x = math.pi/2 # 90 度转换为弧度单位

print(math.sin(x)) # 输出:1.0 —— x 的正弦值
print(math.cos(x)) # 输出:6.123233995736766e-17 —— x 的余弦值
print(math.tan(x)) # 输出:1.633123935319537e+16 —— x 的正切值

需要注意的是,由于计算机精度限制,在进行高级运算时可能会出现误差。

对数和指数

math 模块还提供了处理对数和指数运算所需的一些重要功能。

log() 函数用于计算自然对数(ln)。如果需要以其他底数为基础进行对数运算,则可以使用以下公式:

python
log_a_b = log(b) / log(a)

这个公式可以通过自然对数来表示以 a 为底 b 的对数。

exp() 函数用于计算 e^x 的指数运算结果:

python
import math

x = 10

print(math.log(x)) # 输出:2.302585092994046 —— x 的自然对数
print(math.log(8,2)) # 输出:3.0 —— 底为 2 ,幂为 8 的真实对数
print(math.exp(x)) # 输出:22026.465794806718 —— e^x 的结果

计算序列之和

如果你想要计算从起始点 start 到结束点 end ,步长为 step 的所有数字之和:

python
sum(range(start,end+step,step))

例如,

python
start=0, end=10, step=1,则 sum(range(0,11,1))=55.

幂运算

幂运算是数学中常见的一种运算,指对一个数进行 n 次乘法。在 Python 中,可以使用 ** 运算符或 pow() 函数来进行幂运算。

import math

x = 2
y = 3

print(x**y) # 输出:8 —— x 的 y 次幂
print(math.pow(x,y)) # 输出:8.0 —— x 的 y 次幂

注意,pow() 函数接受两个参数,并返回第一个参数的第二个参数次方。如果需要计算平方根,则将第二个参数设置为 0.5。

随机数生成器

Python Math 模块还包含了一些用于生成随机数的函数,其中最常用的是 randint() 和 uniform() 函数。randint() 函数用于生成指定范围内的整数随机数;而 uniform() 函数则用于生成指定范围内的浮点型随机数。

python
import math
import random

print(random.randint(1,10)) # 输出:一个介于 1 和 10 之间(包括 1 和 10)的整数
print(random.uniform(1,10)) # 输出:一个介于 1 和 10 之间(包括 1 不包括 10)的浮点型随机数

数字近似值

math 模块提供了许多数字近似值函数,例如 trunc()、ceil()、floor() 等等。这些函数都可以用来处理浮点数精度问题。

trunc() 函数可用于截取小数部分,返回整数部分:

python
import math

x = -3.9
y = -2.3

print(math.trunc(x)) # 输出:-3 —— x 的整数部分
print(math.trunc(y)) # 输出:-2 —— y 的整数部分

其他常见函数

除了上述功能以外,math模块还提供了其他许多常见函数,例如 fabs()、sqrt()、degrees() 等等。

fabs(x) 返回给定数字的绝对值:

python
import math

x = -4.7

print(math.fabs(x)) # 输出:4.7 —— x 的绝对值

sqrt(x) 返回给定数字的平方根:

python
import math

x = 16

print(math.sqrt(x)) # 输出:4.0 —— x 的平方根

degrees(x) 将弧度转换为角度:

python
import math

x = math.pi/2 # 弧度转换为角度

print(math.degrees(x)) # 输出:90.0 —— 弧度 x 对应的角度值

计算阶乘

math 模块中还包含了一个用于计算阶乘的函数 factorial()。该函数接受一个整数值,并返回其阶乘。

import math

x = 5

print(math.factorial(x)) # 输出:120 —— x 的阶乘

需要注意的是,factorial() 函数只能接受整数参数。如果传递给它的参数为浮点型或负数,则会抛出 ValueError 异常。

双曲函数

除了常见的三角函数以外,math 模块还提供了一些双曲函数,例如 sinh()、cosh() 和 tanh() 等等。这些函数都可以用于处理与三角函数相关的问题。

python
import math

x = 1.0

print(math.sinh(x)) # 输出:1.1752011936438014 —— x 的双曲正弦值
print(math.cosh(x)) # 输出:1.5430806348152437 —— x 的双曲余弦值
print(math.tanh(x)) # 输出:0.7615941559557649 —— x 的双曲正切值

复数运算

Python Math 模块中还包含了一些用于复数运算的函数,比如 phase()、polar() 和 rect() 等等。这些函数都可以用于处理与复数相关的问题。

python
import math

z = complex(3,4) # 创建一个复数对象

print(abs(z)) # 输出:5.0 —— z 的模长(绝对值)
print(math.phase(z)) # 输出:0.93… —— z 的相位角度(弧度制)
print(cmath.polar(z)) # 输出:(5.0, 0.93…) —— 返回极坐标表示法下 z 的模长和相位角度(弧度制)

需要注意的是,要使用复数运算功能,需要将 Python 中原有的 int 或 float 对象转换为 complex 对象。

其他高级功能

除了上述基本功能以外,Python Math 模块还提供了许多其他高级功能,例如 gamma 函数、log10 函数等等。这些功能通常只在特定领域或专业应用中使用到。

python
import math

x = 2.5

print(math.gamma(x)) # 输出:1.3293403881791376 —— x 的 gamma 函数结果
print(math.log10(x)) # 输出:0.3979400086720376 —— x 的以 10 为底的对数值

以上就是 Python Math 模块中一些最基本且经常使用到的内容。

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

实相无相

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值