Python-基础-数字处理相关模块

数字处理相关模块math

1.简介

>>> 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.718281828459045pi = 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')) #DecimalFraction(11, 10)

计算

>>> from fractions import Fraction>>> a = Fraction(1,2)>>> aFraction(1, 2)>>> b = Fraction('1/3')>>> bFraction(1, 3)>>> a + bFraction(5, 6)>>> a - bFraction(1, 6)

The end!

To be continue

wklken

Email: wklken@yeah.net

Blog: http://blog.csdn.net/wklken

2013-03-10

转载请注明出处,谢谢

Python-基础-数字处理相关模块

相关文章:

你感兴趣的文章:

标签云: