首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能在Python3.8中使用numbers.Rational类中的这些rational分子和分母呢?

为什么我不能在Python3.8中使用numbers.Rational类中的这些rational分子和分母呢?
EN

Stack Overflow用户
提问于 2020-08-22 16:39:00
回答 1查看 102关注 0票数 0

可以帮助我理解如何使用这些理性的分子和分母

*类numbers.Rational子类型Real,并添加分子和分母属性,这些属性应该以最低的术语表示。有了这些,它提供了float()的默认设置。

分子摘要

分母摘要*

这是官方文件的链接

这是官方代码的链接

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-22 18:02:58

numbers模块提供了一些抽象基类,如果要实现自己的数字类型,可以使用这些类。你不需要使用它们,但是如果你想要的话,它们可以帮助你把事情做好。

它们不是可以随时访问的内置类型,它们是不同的。Python中的具体数字类型是intfloatcomplex,如果您愿意进入标准库,则是fractions.Fractiondecimal.Decimal

在问题中显示的交互式会话中,您正在创建一个complex对象和一个float (通过除以整数)。这与numbers.Complexnumbers.Rational不同。虽然numbers.Complex类的API与具体的complex类型的实际工作方式非常匹配,但float类型与抽象的numbers.Rational API有很大的不同。

如果您只想将float表示为一个分数,请尝试在其上调用as_integer_ratio()方法。这可能不是你期望的分数!这是因为浮点值并不总是精确的,特别是当二进制表示被无限重复并且需要在某个地方被截断时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63538636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档