python标准库 第五章 数学计算
2017-02-04 15:36
211 查看
数学计算
今天把第五章数学计算看完了,在开始下一章节之间先梳理一下decimal
构造
十进制用的库吧,主要输入靠decimal.Decimal()来构造。
比较有意思的是这个可以通过tuple来构造浮点数
import decimal t=(1,(1,1),-2) print decimal.Decimal(t)
则对应的输出为-0.11
tuple第一个位置是符号,0为正,1为负,中间的tuple是所有的位数上的数字,最后一位是10的指数
那么对应这个就是 -11*10*-2
精度
靠getcontext().prec=i来控制
至于书中的上下文,局部上下文,不想深究。要用再查。
fractions
关于fraction 印象不多,基于翻译——分数的话也不外乎自动计算分数,或者找近似分数。创建
import fractions for i,n in [ (1,2),(2,4),(5,3) ] f=fractions.Fraction(i,n): print '%s/%s = %s'%(i,n,f)
运算支持所有标准操作符。
近似值
如果你传入一个浮点数,fraction会生成一个近似的分数例如
f_pi=fractions.Fraction(str(math.pi))
然后提供一个limit_denominator可以控制分母
f_pi.limit_denominator(1)则可以将分母控制为1
当然分母不会完全是括号内的数字,但会接近。
random
随机数不多说生成
random.random()生成的是0~1的数
random.uniform(a,b)生成a~b的数
种子
就是random.seed(a)设置一下
保存状态
这个不是很懂,粗略的看了下,应该是基于random.getstate()获取数据,然后用
random.setstate()来设置。如果以后要用,还是去看下官方文档吧
随机整数
random.randint(a,b)
random.randrange(a,b,step)
在a到b且满足步长的数里面随机选
随机选择和排序和取样
random.choice()
random.shuffle()
random.sample()
示例给了一个模拟抛硬币和模拟发牌的程序,蛮有意思的.
后面一些杂项
比如randomSystem的,要用再说吧,不过这些库确实很强大
比如可以模拟高斯分布,指数分布。泊松没看到。
math
math库有点多,不过应该都比较好理解有意思的是
modf()这个函数
modif(1/2.0)
输出为
(0.5,0.0)
前面小数部分,后面整数部分
后面开根,幂方,三角函数什么的就不写了,反正我也没怎么看。
可以开始看下一部分了……..
相关文章推荐
- Python的数学计算
- Python标准库12 数学与随机数 (math包,random包)
- 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
- 数学之路-python计算实战(17)-机器视觉-滤波去噪(中值滤波)
- 数学之路-python计算实战(9)-机器视觉-图像插值仿射
- 数学之路-python计算实战(22)-机器视觉-sobel非线性滤波
- 数学之路-python计算实战(11)-机器视觉-图像增强
- 数学之路-python计算实战(10)-机器视觉-透视投影
- 数学之路-python计算实战(8)-机器视觉-图像二值化
- 数学之路-python计算实战(20)-机器视觉-拉普拉斯算子卷积滤波
- Python标准库12 数学与随机数 (math包,random包)(转)
- 数学之路-python计算实战(1)-ubuntu安装pypy
- Learn Python The Hard Way学习(3) - 数字和数学计算
- 数学之路-python计算实战(7)-机器视觉-图像产生加性零均值高斯噪声
- Python标准库数学与随机数 (math包,random包)
- python实现带误差传递的数学计算
- 数学之路-python计算实战(5)-初识numpy以及pypy下运行numpy
- 数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)
- 用python 在c++计算数学表达式的例子
- Python十进制数学计算模块decimal