python中math模块的使用方法_python基础教程之数字处理(math)模块详解

python基础教程之数字处理(math)模块详解

这篇文章主要介绍了pythonr的数字处理模块知识(math),需要的朋友可以参考下

1.math简介

代码如下:

>>> import math

>>>dir(math) #这句可查看所有函数名列表

>>>help(math) #查看具体定义及函数0原型

2.常用函数

代码如下:

ceil(x) 取顶

floor(x) 取底

fabs(x) 取绝对值

factorial (x) 阶乘

hypot(x,y) sqrt(x*x+y*y)

pow(x,y) x的y次方

sqrt(x) 开平方

log(x)

log10(x)

trunc(x) 截断取整数部分

isnan (x) 判断是否NaN(not a number)

degree (x) 弧度转角度

radians(x) 角度转弧度

另外该模块定义了两个常量:

代码如下:

e = 2.718281828459045

pi = 3.141592653589793

random

1.简介

random是用于生成随机数,我们可以利用它随机生成数字或者选择字符串

代码如下:

import random

2.常用函数

random.random()

用于生成一个随机浮点数:range[0.0,1.0)

复制代码代码如下:

>>> import random

>>> random.random()

0.999410896951364

random.uniform(a,b)

用于生成一个指定范围内的随机浮点数,a,b为上下限

只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a

代码如下:

>>> random.uniform(10,20)

13.224754825064881

>>> random.uniform(20,10)

14.104410713376437

>>> random.uniform(10,10)

10.0

random.randint(a,b)

用于生成一个指定范围内的整数,a为下限,b为上限,生成的随机整数a<=n<=b;

若a=b,则n=a;若a>b,报错

代码如下:

>>> random.uniform(10,10)

10.0

>>> random.randint(10,20)

15

>>> random.randint(10,10)

10

>>> random.randint(20,10)

Traceback (most recent call last):

……

ValueError: empty range for randrange() (20,11, -9)

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

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

代码如下:

>>> random.randrange(10,100,5)

95

>>> random.randrange(10,100,5)

45

random.choice(sequence)

从序列中获取一个随机元素,参数sequence表示一个有序类型,并不是一种特定类型,泛指list,tuple,字符串等

代码如下:

>>> random.choice([1,2,3,4])

1

>>> random.choice([1,2,3,4])

3

>>> random.choice('hello')

'e'

random.shuffle(x[, random])

用于将一个列表中的元素打乱

代码如下:

>>> a = [1,2,3,4,5]

>>> random.shuffle(a)

>>> a

[4, 5, 2, 1, 3]

>>> random.shuffle(a)

>>> a

[3, 2, 5, 1, 4]

random.sample(sequence, k)

从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列

代码如下:

>>> a = [1,2,3,4,5]

>>> random.sample(a,3)

[1, 4, 5]

>>> random.sample(a,3)

[1, 2, 5]

>>> a

[1, 2, 3, 4, 5]

decimal

1.简介

默认,浮点数学缺乏精确性

decimal 模块提供了一个 Decimal 数据类型用于浮点数计算。相比内置的二进制浮点数实现 float这个类型有助于

金融应用和其它需要精确十进制表达的场合,

控制精度,

控制舍入以适应法律或者规定要求,

确保十进制数位精度,或者用户希望计算结果与手算相符的场合。

Decimal 重现了手工的数学运算,这就确保了二进制浮点数无法精确保有的数据精度。 高精度使 Decimal 可以执行二进制浮点数无法进行的模运算和等值测试。

2.使用

代码如下:

>>> from decimal import Decimal

>>> Decimal('0.1') / Decimal('0.3')

Decimal('0.3333333333333333333333333333')

>>> from decimal import getcontext

>>> getcontext().prec = 4 #设置全局精度

>>> Decimal('0.1') / Decimal('0.3')

Decimal('0.3333')

fractions

分数类型

构造

复制代码代码如下:

>>> from fractions import Fraction

>>> Fraction(16, -10) #分子分母

Fraction(-8, 5)

>>> Fraction(123) #分子

Fraction(123, 1)

>>> Fraction('3/7') #字符串分数

Fraction(3, 7)

>>> Fraction('-.125') #字符串浮点数

Fraction(-1, 8)

>>> Fraction(2.25) #浮点数

Fraction(9, 4)

>>> from decimal import Decimal

>>> Fraction(Decimal('1.1')) #Decimal

Fraction(11, 10)

计算

代码如下:

>>> from fractions import Fraction

>>> a = Fraction(1,2)

>>> a

Fraction(1, 2)

>>> b = Fraction('1/3')

>>> b

Fraction(1, 3)

>>> a + b

Fraction(5, 6)

>>> a - b

Fraction(1, 6)

完 谢谢观看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值