python有理数_Python3标准库:fractions有理数
1. fractions有理数
Fraction类基于numbers模块中Rational定义的API来实现有理数的数值运算。
1.1 创建Fraction实例
与decimal模块类似,可以采用多种方式创建新值。一种简便的方式是由单独的分子和分母值来创建。
importfractionsfor n, d in [(1, 2), (2, 4), (3, 6)]:
f=fractions.Fraction(n, d)print('{}/{} = {}'.format(n, d, f))
计算新值时要保持最小公分母。
创建Fraction的另一中方法是使用 / 字符串表示。
importfractionsfor s in ['1/2', '2/4', '3/6']:
f=fractions.Fraction(s)print('{} = {}'.format(s, f))
解析这个字符串,以找出分子和分母值。
字符串还可以使用更常用的小数或浮点数记法,即用一个小数点分隔的一系列数字。能够由float()解析而且不表示NaN或无穷大值的所有字符串都被支持。
importfractionsfor s in ['0.5', '1.5', '2.0', '5e-1']:
f=fractions.Fraction(s)print('{0:>4} = {1}'.format(s, f))
浮点值表示的分子和分母值会自动计算。
还可以从有理数的其他表示(如float或Decimal)直接创建Fraction实例。
importfractionsfor v in [0.1, 0.5, 1.5, 2.0]:print('{} = {}'.format(v, fractions.Fraction(v)))
不能精确表示的浮点值可能会得到意料外的结果。
使用值的Decimal表示则会给出期望的结果。
importdecimalimportfractions
values=[
decimal.Decimal('0.1'),
decimal.Decimal('0.5'),
decimal.Decimal('1.5'),
decimal.Decimal('2.0'),
]for v invalues:print('{} = {}'.format(v, fractions.Fraction(v)))
Decimal的内部实现不存在标准浮点数表示的精度误差。
1.2 算术运算
一旦分数被实例化,就可以在数学表达式中使用了。
importfractions
f1= fractions.Fraction(1, 2)
f2= fractions.Fraction(3, 4)print('{} + {} = {}'.format(f1, f2, f1 +f2))print('{} - {} = {}'.format(f1, f2, f1 -f2))print('{} * {} = {}'.format(f1, f2, f1 *f2))print('{} / {} = {}'.format(f1, f2, f1 / f2))
分数运算支持所有标准操作符。
1.3 近似值
Fraction有一个有用的特性,即能够将一个浮点数转换为一个近似的有理数值。
importfractionsimportmathprint('PI =', math.pi)
f_pi=fractions.Fraction(str(math.pi))print('No limit =', f_pi)for i in [1, 6, 11, 60, 70, 90, 100]:
limited=f_pi.limit_denominator(i)print('{0:8} = {1}'.format(i, limited))
可以通过限制分母大小来控制这个分数的值。
内容来源于网络如有侵权请私信删除
python有理数_Python3标准库:fractions有理数相关推荐
- [Python标准库]fractions——有理数
[Python标准库]fractions--有理数 作用:实现了一个类来处理有理数. Python 版本:2.6 及以后版本 Fraction 类基于 ...
- python分数类_利用标准库fractions模块让Python支持分数类型的方法详解
前言 你可能不需要经常处理分数,但当你需要时,Python的Fraction类会给你很大的帮助.本文将给大家详细介绍关于利用标准库fractions模块让Python支持分数类型的相关内容,分享出来供 ...
- python守护进程进程池_Python3标准库:multiprocessing像线程一样管理进程
Python Python开发 Python语言 Python3标准库:multiprocessing像线程一样管理进程 1. multiprocessing像线程一样管理进程 multiproces ...
- python3多线程第三方库_Python3标准库:concurrent.futures管理并发任务池
Python Python开发 Python语言 Python3标准库:concurrent.futures管理并发任务池 1. concurrent.futures管理并发任务池 concurren ...
- python语言的标准库有哪些,python标准库函数有哪些
PyFlux库函数是什么? PyFlux是Python编程语言的开源时间序列库.PyFlux是Python中为处理时间序列问题而创建的开源库. 该库有一系列极好的时间序列模型,包括但不限于 ARIMA ...
- python基础_026__标准库和第三方库
一.标准库与第三方库 1.标准库与第三方库的区别,标准库是python自带的,可以直接import导入, 第三方库需要pip安装/pycharm中下载 之后使用 2. 以下是,python自带标准库里 ...
- 笔记——Python常用的标准库
Python 语言通过模块(module)来组织代码.Python 标准库十分庞大,由C语言编写的内置模块,和由 Python 编写的解决常见开发需求的模块.下面的Python是一些标准库. 库名 作 ...
- python精确有理数实验_Python3标准库:fractions有理数
1. fractions有理数 Fraction类基于numbers模块中Rational定义的API来实现有理数的数值运算. 1.1 创建Fraction实例 与decimal模块类似,可以采用多种 ...
- Python - 140种标准库、第三方库和外部工具整理
Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具. 这些库可用于文件读写.网络抓取和解析.数据连接.数 ...
- python内置标准库不可以处理的文件是_精华 | 140种Python标准库、第三方库和外部工具都有了...
原标题:精华 | 140种Python标准库.第三方库和外部工具都有了 作者 | 宋天龙 来源 | 大数据(ID:hzdashuju) [导读]Python数据工具箱涵盖从数据源到数据可视化的完整流程 ...
最新文章
- 2G---5G与未来天线技术
- python 作业4
- 自己在CODING过程中遇到的问题以及解决(C/VC)
- redis源码笔记-adlist
- QHD DDIC is implemented via HANA
- java encode in ansi_Java应用中的编码问题
- 《Python Cookbook 3rd》笔记(5.6):字符串的 I/O 操作
- 谷歌详述 Zoom 客户端和MMR 服务器中的两个0day
- 修改 timezone
- ACER微型计算机支持MSATA,宏基S7超级本惊现双主控mSATA SSD 速度近900MB/s
- BeanUtils与PropertyUtils区别
- Java实现微信扫一扫
- 基于vue的房屋中介管理系统
- vs写c语言快捷键,vs快捷键
- ARCGIS导入数据后,属性表为空
- anaconda 安装 TensorFlow 过程记录
- SPAMS Matlab 安装
- requests爬取视频片段并整合
- 计算机网络网络协议与网络结构
- SpringBoot整合websocket实现及时通信聊天
热门文章
- vue 使用iframe展示pdf文件
- 使用基础版SYD8811 Smart EVK测量SYD8811芯片功耗的说明
- 【数据挖掘实操】用文本挖掘剖析近5万首《全唐诗》
- Vue滑动隐藏图标效果
- CentOS安装打字游戏,typespeed
- linux v4l2-ctl,V4L2总结
- mongodb默认的用户名密码_MongoDB 用户名密码登录
- 艺龙深耕酒店VS携程 布局旅游全产业
- ThunderSoft Video to GIF Converter(电脑视频转gif软件)官方正式版V3.3.0 | 轻松将视频转换成GIF图片
- Mac连接HDMI后没有声音