Python基础之数学模块

目录

1、math模块

1.1 数学常数

1.2 常用函数

2、 decimal模块

2.1 什么时候使用decimal

2.2 使用decimal


1、math模块

math库是Python提供的内置数学类函数,因为复数类型常用于科学计算,一般计算不常用,math库不支持复数类型,仅支持整数和浮点数

1.1 数学常数

math.pi 圆周率

math.e 自然常数e

math.inf 正无穷大,负无穷大为-math.inf

math.nan 非浮点数标记,NaN

1.2 常用函数

math.cell(浮点数) # 向上取整

math.floor(浮点数) # 向下取整

round(浮点数) # 四舍五入

math.fabs(数值) # 绝对值 返回浮点数

abs(数值) # 绝对值 返回整数、浮点数

math.fmod(x,y) # x/y的余数;返回值:浮点数

math.pow(底数,幂) # 计算一个数值的N次方,返回值:浮点类型

math.sqrt(数值) # 开平方 返回浮点数

fsum(序列) # 返回序列中所有元素和 返回值:浮点数

sum(序列) # 将一个序列的数值进行相加求和 返回值:数值类型(根据序列中数值类型变化)

math.modf(数值) # 将一个浮点数拆成小数和整数部分的元组 返回值:元组

math.trunc(数值) # 返回浮点数的整数部分,返回值:整数

math.copysign(值1,值2) # 将第二个数的正负值复制给第一个数,返回值:浮点数

math.factorial(x) # 返回x的阶乘,如果x不是整数或为负数将引发ValueError:返回值:整数

math.gcd(x,y) # 返回整数x和y的最大公约数,返回值:整数

print(math.e)
print(math.pi)
print(math.inf)
print(math.nan)
print(math.ceil(12.13))
print(math.floor(12.13))
print(round(13.14))
print(math.fabs(-1))
print(math.fabs(2))
print(abs(-1))
print(math.fmod(6, 2))
print(math.pow(2, 3))
print(math.sqrt(8))
print(math.fsum((1, 2, 3, 4, 5, 7, 1)))
print(sum(range(101)))
print(math.modf(12.34))
print(math.trunc(11.2))
print(math.copysign(1, -1))
print(math.factorial(4))
print(math.gcd(2, 7))

2、 decimal模块

decimal模块提供了一个Decimal数据类型用于浮点数计算,相比于内置的二进制浮点数实现float这个类型有助于金融应用和其他需要精确十进制表达的场合,控制精度,控制舍入以适应法律或者规定要求,确保十进制数位精度,或者用户希望计算结果与手算相符的场景。Decimal重现了手工的数学运算,这就确保了二进制浮点数无法精确保有的数据精度。高精度Decimal可以执行二进制浮点数无法进行的模运算和等值运算。

2.1 什么时候使用decimal

python中小数相加会计算出结果不对,那就是由于科学计数精度问题

print(2.02 + 3.01)

2.2 使用decimal

设置精度:decimal.getcontext().prec = num  # num为有效数字个数

decimal.getcontext().prec = 4
print(decimal.Decimal(2.02) + decimal.Decimal(3.01))

设置小数位数:quantize()

print(decimal.Decimal(3.1415926).quantize(decimal.Decimal("0.000")))

猜你喜欢

转载自blog.csdn.net/xiao__dashen/article/details/125381632