【基本扩展模块】35、几个算术模块【基本扩展模块】35、几个算术模块
目录
一、math模块和cmath模块
二、decimal模块
三、fractions模块
四、random模块
一、math模块和cmath模
- math模块支持浮点数运算
math.sin()/math.cos()/math.tan()
math.pi
:∏ =3.14159..
math.log(x,a)
以a为底的x的对数
math.pow(x,y)
xy - cmath模块支持复数运算
cmath.polar()
极坐标
cmath.rect()
笛卡尔坐标
cmath.exp(x)
ex
cmath.1og(x,a)
以a为底的x的对数
cmath.1og10(x)
以10为底x的对数
cmath.sqrt(x)
x的平方根。
二、decimal模块
- 小数-固定精度的浮点值
0.1+0.1+0.1-0.3=5.551115123125783e-17
- 生成小数
from decimal import Decimal
Decimal('0.1')
- 小数计算
Decimal('0.1')+Decimal('0.1')+Decimal('0.10')-Decimal('0.3')
Out:Decimal('0.00')
三、fractions模块
- 分数-实现了一个有理数对象
- 生成分数
from fractions import Fraction
Fraction(1,4)/Fraction('0.25')
- 浮点数转换为分数
Fraction.from_float(1.75)
尽管可以把浮点数转换为分数,在某些情况下,这么做会有不可避免的精度损失,因为这个数字在其最初的浮点形式上是不精确的
四、random模块
- 伪随机数
计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可预见的 - 随机数种子
随机种子相同,随机数的序列也是相同的
random.seed(a=None)
random()
,生成范围在[0,1)之间的随机实数
uniform()
,生成指定范围的内的随机浮点数
randint(m,n)
,生成指定范围[m,n]内的整数
randrange(a,b,n)
,可以在[a,b)范围内,按n递增的集合中随机选择一个数
getrandbits(k)
,生成k位二进制的随机整数
choice()
,从指定序列中随机选择一个元素
sample()
,能指定每次随机元素的个数
shuffle()
,可以将可变序列中所有元素随机排序
微信赞赏支付宝赞赏