问题描述
有人可以帮助我理解如何使用这些有理数,分子和分母
*等级编号。 子类型为Real并添加分子和分母属性,应使用最低的术语。有了这些,它提供了float()的默认值。
分子 摘要。
分母 摘要。*
Here's the link to the official documentation
Here's the link to official code
解决方法
numbers
模块提供了一些抽象基类,如果您要实现自己的数字类型,则可以使用这些基类。您不需要使用它们,但是如果需要,它们可以为正确处理提供一些帮助。
它们不是您始终可以访问的内置类型,它们是不同的。 Python中的具体数字类型为int
,float
,complex
,如果愿意进入标准库,则为fractions.Fraction
和decimal.Decimal
。
在问题中显示的交互式会话中,您正在创建complex
对象和float
(通过除以整数)。这些与numbers.Complex
或numbers.Rational
不同。尽管numbers.Complex
类的API与具体的complex
类型的实际工作方式非常匹配,但float
类型与抽象的numbers.Rational
API有很大的不同。>
如果只想将float
表示为分数,请尝试在其上调用as_integer_ratio()
方法。这可能不是您期望的分数!这是因为浮点值并不总是精确的,尤其是当二进制表示形式无限重复并且需要在某个地方被截断时。