为什么我不能在 Python 3.8 中使用 class numbers.Rational 中的这些有理数、分子和分母?
Why cant I use these rational, numerator & denominator from class numbers.Rational in Python 3.8?
谁能帮我理解如何使用这些有理数、分子和分母
*class numbers.Rational
子类型 Real 并添加分子和分母属性,这些属性应该是最低限度的。有了这些,它为 float() 提供了默认值。
分子
文摘.
分母
文摘.*
Here's the link to the official documentation
Here's the link to official code
numbers
模块提供了一些 抽象基础 classes,如果您正在实现自己的数字类型,则可以使用它们。您不需要使用它们,但如果您需要,它们可以帮助您把事情做好。
它们不是您可以随时访问的内置类型,它们是不同的。 Python 中的具体数字类型是 int
、float
、complex
并且,如果您愿意进入标准库,fractions.Fraction
和 decimal.Decimal
.
在问题中显示的交互式会话中,您正在创建一个 complex
对象和一个 float
(通过除以整数)。这些与 numbers.Complex
或 numbers.Rational
不同。虽然 numbers.Complex
class 的 API 与具体 complex
类型的实际工作方式非常匹配,但 float
类型与摘要 numbers.Rational
API.
如果您只想将 float
表示为分数,请尝试对其调用 as_integer_ratio()
方法。这可能不是您期望的分数!那是因为浮点值并不总是准确的,尤其是当二进制表示无限重复并且需要在某处截断时。
谁能帮我理解如何使用这些有理数、分子和分母
*class numbers.Rational 子类型 Real 并添加分子和分母属性,这些属性应该是最低限度的。有了这些,它为 float() 提供了默认值。
分子 文摘.
分母 文摘.*
Here's the link to the official documentation
Here's the link to official code
numbers
模块提供了一些 抽象基础 classes,如果您正在实现自己的数字类型,则可以使用它们。您不需要使用它们,但如果您需要,它们可以帮助您把事情做好。
它们不是您可以随时访问的内置类型,它们是不同的。 Python 中的具体数字类型是 int
、float
、complex
并且,如果您愿意进入标准库,fractions.Fraction
和 decimal.Decimal
.
在问题中显示的交互式会话中,您正在创建一个 complex
对象和一个 float
(通过除以整数)。这些与 numbers.Complex
或 numbers.Rational
不同。虽然 numbers.Complex
class 的 API 与具体 complex
类型的实际工作方式非常匹配,但 float
类型与摘要 numbers.Rational
API.
如果您只想将 float
表示为分数,请尝试对其调用 as_integer_ratio()
方法。这可能不是您期望的分数!那是因为浮点值并不总是准确的,尤其是当二进制表示无限重复并且需要在某处截断时。