我的Python学习日记(五):数学运算

我的Python学习日记

DateLog
2023.11.30完成编写

5. 数学运算

5.1 数学函数

本节内容许多函数源于math模块,使用前需要先导入math模块import math
如果需要计算复数,则使用cmath模块中的同名函数

函数名描述
abs(x)绝对值
math.fabs(x)以浮点数形式返回绝对值,不可应用于复数
math.ceil(x)向上取整,返回一个大于或等于x的最小整数
math.floor(x)向下取整,返回一个小于或等于x的最大整数
math.exp(x)以e为底,以x为幂,生成 e x e^x ex 表达式
math.expm1(x)返回 e x − 1 e^x-1 ex1,比其他方法结果更精确
math.log(x,base)返回以base为基,x的对数,base默认为 e e e,即自然对数
math.log10(x)返回以10为基数的x的对数 l o g 10 x log_{10}x log10x
math.log2(x)返回以2为基数的x的对数 l o g 2 x log_{2}x log2x
math.log1p(x)返回x+1的自然对数 l n ( x + 1 ) ln(x+1) ln(x+1)
max(x,y,z…)
min(x,y,z…)
最大值
最小值
math.modf(x.y)返回x.y的小数部分y与整数部分x→(y,x)
pow(x,y)
pow(x,y,z)
求x**y即xy
计算x**y % z即xy mod z
round(x,n)返回x的五舍六入值,
n可选,表示保留小数位数,默认为0
math.sqrt(x)返回数字x的平方根
math.comb(n,k)计算组合数 C n k C_n^k Cnk
math.perm(n,k)计算排列数 A n k A_n^k Ank
math.copysign(x,y)将y的符号赋给x
math.dist(p,q)计算p与q之间的欧几里得距离,
p、q均为元组或列表并尽可能保持类型一致
math.hypot( x 1 x_1 x1, x 2 x_2 x2…)计算输入值到原点的欧几里得距离,即欧几里得范数
x 1 2 + x 2 2 + . . . + x n 2 . . . \sqrt{x_1^2+x_2^2+...+x_n^2...} x12+x22+...+xn2...
math.erf(x)
math.erfc(x)
返回数字x的误差函数值
返回数字x的互补误差函数
math.factorial(x)返回x的阶乘,x只能为正整数或0
math.fmod(x,y)[注1]返回x/y的余数即取余
math.fsum(seq)计算可迭代对象seq(列表、元组)中所有元素的和,
如果有非数字元素,会产生TypeError,返回值为浮点数
math.prod(seq,start)计算可迭代对象seq中所有元素的乘积,
从start开始,可选,默认为1,返回值由输入值决定
math.gamma(x)返回x的伽马函数值
math.lgamma(x)返回x的自然对数伽马函数值
math.gcd(x,y,z…)返回两个或多个整数的最大公约数
math.isfinite(x)
math.inf(x)
math.isnan
判断x是否有限,如果不是NaN或inf则返回True,否则返回False
判断x是否是正负无穷大,是则返回True,否则返回False
判断x是否为NaN(不是数字),是则返回True,否则返回False
math.isqrt(x)返回x的平方根并向下取整

表注

  • fmod()函数返回值为浮点数,而%取余返回值取决于计算数的类型

    import math
    print(math.fmod(7,2), 7%2, 7.0%2) # 1.0 1 1.0
    

5.2 数学常量

常量描述
math.e欧拉数 e e e
math.inf返回无穷大浮点数
math.nan返回一个浮点值NaN(not a number)
math.pi π \pi π
math.tau圆周常数 τ = 2 π \tau=2\pi τ=2π

5.3 三角函数

函数[注1]描述
math.sin(x) s i n x sinx sinx
math.asin(x) a r c s i n x arcsinx arcsinx
math.cos(x) c o s x cosx cosx
math.acos(x) a r c c o s x arccosx arccosx
math.tan(x) t a n x tanx tanx
math.atan(x) a r c t a n x arctanx arctanx
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.degrees(x)将x从弧度转换为角度
math.radians(x)将x从角度转换为弧度

表注

  • 三角函数参数为弧度而非角度

5.4 随机数

本节需要先导入random模块import random

函数描述
random.seed(x)初始化随机数生成器种子,一般为默认不必特别设定
如果设定种子,那么使用random()生成的随机数为同一个
random.randrange(start,stop,step)在start(一个整数,可选,默认为0)到stop(一个整数,必需)
指定步长step(一个整数,可选,默认为1)随机生成一个数
random.randint(a,b)返回一个在 [ a , b ] [a,b] [a,b]区间的整数,a,b均为整数
random.choice(seq)从seq中随机返回一个元素,seq可以是列表、元组或字符串
random.shuffle(list)将列表中元素随机打乱,返回值为None,输入参数为列表
random.random()返回在 [ 0 , 1 ) [0,1) [0,1)之间随机生成的一个实数
random.uniform(a,b)返回一个在 [ a , b ] [a,b] [a,b]区间的浮点数,a,b均为整数且大小关系不定

特别的,一些分布

分布描述
random.triangular(low, high, mode)生成一个服从三角分布的随机浮点数
low,high分别为下限和上限,mode为峰值或众数
random.betavariate( α \alpha α, β \beta β)生成一个服从 Beta 分布的随机浮点数
random.expovariate( λ \lambda λ)生成一个服从参数为 λ \lambda λ的指数分布的随机浮点数
random.gammavariate( α \alpha α, β \beta β)生成一个服从形状尺度 α \alpha α,尺度参数 β \beta β的伽马分布的随机浮点数
random.guass( μ \mu μ, σ \sigma σ)
random.normalvariate( μ \mu μ, σ \sigma σ)
生成一个服从参数为 μ \mu μ, σ \sigma σ的高斯分布的随机浮点数, σ \sigma σ为标准差

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HIT-Zxy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值