为什么我不能在类编号中使用这些有理数,分子和分母?在Python 3.8中是理性的?

问题描述

有人可以帮助我理解如何使用这些有理数,分子和分母

*等级编号。 子类型为Real并添加分子和分母属性,应使用最低的术语。有了这些,它提供了float()的认值。

分子 摘要

分母 摘要。*

Here's the link to the official documentation

Here's the link to official code

enter image description here

解决方法

numbers模块提供了一些抽象基类,如果您要实现自己的数字类型,则可以使用这些基类。您不需要使用它们,但是如果需要,它们可以为正确处理提供一些帮助。

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...