常用简单数学函数

Python实用教程_spiritx的博客-CSDN博客

科学计数法

在Python中,可以使用e或E来表示科学记数法。例如,10的6次方可以表示为1e6或1E6。

# 以科学记数法输出10的6次方
num = 1e6
print(num)    # 1000000.0

num2 = 1.234e-3
print(num2)   # 0.001234

上面代码中,我们使用e来表示10的幂次,第一行代码输出1e6就是10的6次方,第二行代码输出1.234e-3,就是0.001234。

数学常量

常量数学表示描述
math.piπ数学常量 pi(圆周率,一般以π来表示)
math.ee数学常量 e,e即自然常数(自然常数)。
math.info正无穷大,负无穷大为-math.inf
math.nan非浮点数标记,NAN(Not a Number)

常用简单数值函数

函数

返回值 ( 描述 )

abs(x)

返回数字的绝对值,如abs(-10) 返回 10

math.fabs(x)

以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0

​​​​​​​math.ceil(x)

返回数字的上入整数,如math.ceil(4.1) 返回 5

math.exp(x)

返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045

math.expml(x)返回e的x次幂减1,e**x-1
math.fmod(x,y)x%y,返回x与y的模
math.remainder(x,y)返回 x/y 的余数,math.remainder(9, 2)返回1

math.floor(x)

返回数字的下舍整数,如math.floor(4.9)返回 4

math.modf(x)

返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。

math.trunc(x)返回x的整数部分
sum([x,y...],start=0)x+y+...+start,数值求和
math.fsum([x,u,...])x+y+...,浮点数精确求和

math.log(x[,base=e])

如math.log(math.e)返回1.0,math.log(100,10)返回2.0

math.loglp(x)ln(1+x),返回1+x的自然对数

math.log10(x)

返回以10为基数的x的对数,如math.log10(100)返回 2.0

math.log2(x)返回以2为底的对数

max(x1, x2,...)

返回给定参数的最大值,参数可以为序列。

min(x1, x2,...)

返回给定参数的最小值,参数可以为序列。

math.pow(x, y)

x**y 运算后的值。

round(x [,n])

返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。

其实准确的说是保留值将保留到离上一位更近的一端。

math.sqrt(x)

返回数字x的平方根。

math.factorial(x)x!,返回x的阶乘,如果x是负数或者小数,返回ValueError
math.gcd(x,y)返回x、y的最大公约数
math.frepx(x)方法以 (m, i) 对的形式返回 x 的尾数和指数。x= m * 2^{i}
math.ldexp(m,i)frepx()的反函数
math.copysign(x,y)|x|*|y|/y,用数值y的正负号替换数值x的正负号
math.isclose(x,y)比较x、y的相似性
math.isfinite(x)当x为无穷大时,返回True,否则返回False
math.isinf(x)当x为正数或负无穷大时,返回True,否则返回False
math.isnan(x)当x是NaN,返回True,否则返回False

常用随机数函数

函数

描述

random.choice(seq)

从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。

random.randrange ([start,] stop [,step])

从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1

random.random()

随机生成下一个实数,它在[0,1)范围内。

random.seed([x])

改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。

random.shuffle(lst)

将序列的所有元素随机排序

random.uniform(x, y)

随机生成下一个实数,它在[x,y]范围内。

random.randint(x,y)生成x至y之间的随机整数
random.getrandbits(k)生成k比特长的随机整数
random.sample(p,k)从p类型(列表等类型)中随机取出k个元素,以列表形式返回

三角函数

函数

描述

math.acos(x)

返回x的反余弦弧度值。

math.asin(x)

返回x的反正弦弧度值。

math.atan(x)

返回x的反正切弧度值。

math.atan2(y, x)

返回给定的 X 及 Y 坐标值的反正切值。

math.cos(x)

返回x的弧度的余弦值。

math.hypot(x, y)

返回欧几里德范数 sqrt(x*x + y*y)。\sqrt{x^{2}+y^{2}}

math.sin(x)

返回的x弧度的正弦值。

math.tan(x)

返回x弧度的正切值。

math.degrees(x)

将弧度转换为角度,如degrees(math.pi/2) , 返回90.0

math.radians(x)

将角度转换为弧度

math.sinh(x)返回x的双曲正弦函数值
math.cosh(x)返回x的双曲余弦函数值
math.tanh(x)返回x的双曲正切函数值
math.asinh(x)返回x的反双曲正弦函数值
math.acosh(x)返回x的反双曲余弦函数值
math.atanh(x)返回x的反双曲正切函数值

高等特殊函数

函数

描述

math.erf(x)

高斯误差函数,应用于概率论、统计学等
math.erfc(x)余补高斯误差函数,math.erf(x)=1-math.erfc(x)
math.gamma(x)伽马函数,也叫做欧拉第二积分函数
math.lgamma(x)伽马哈桑农户的自然对数

数学函数举例

divmod()

说明:把除数和余数运算结果结合起来,返回一个包含商和余数的元组

>>> print("9 除以 4:", divmod(9, 4))
9 除以 4: (2, 1)
>>> print("4 除以 9:", divmod(4, 9))
4 除以 9: (0, 4)

sum()​

sum(iterable, start=0)
  • iterable:可迭代对象,如列表、元组、集合、字典等。
  • start:可选,指定初始值,如果不指定,默认为0。

说明:函数对列表元组和集合等序列进行求和计算。

>>> print(sum([1,2,3,4]))
10
>>> print(sum([1,2,3,4],15))
25
>>> print(sum((1,2,3,4,15)))
25
>>> print(sum((1,2,3),(4,15)))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "int") to tuple
>>> print(sum((1,2,3,4),15))
25

isclose()

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

参数说明:

  • a -- 必需,数字。如果 a不是一个数字,返回 TypeError。如果值为 0 或负数,则返回 ValueError。
  • b -- 必需,数字。如果 b 不是一个数字,返回 TypeError。如果值为 0 或负数,则返回 ValueError。
  • rel_tol -- 是相对容差,它是 a 和 b 之间允许的最大差值,相对于 a 或 b 的较大绝对值。例如,要设置5%的容差,请传递 rel_tol=0.05 。默认容差为 1e-09,确保两个值在大约9位十进制数字内相同。 rel_tol 必须大于零。
  • abs_tol -- 是最小绝对容差,对于接近零的比较很有用。 abs_tol 必须至少为零。

返回一个布尔值,检查两个值是否彼此接近,如果值接近,则返回 True,否则返回 False。

>>> import math
>>> print(math.isclose(8.005, 8.450, abs_tol = 0.4))
False
>>> print(math.isclose(8.005, 8.450, abs_tol = 0.5))
True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值