25

int.numeratorそしてint.denominator私には謎です。

help(int.numerator)状態:

最低項での有理数の分子

しかし、私が知る限りint、有理数ではありません。では、なぜこれらのプロパティが存在するのでしょうか。

4

1 に答える 1

19

http://docs.python.org/library/numbers.htmlを参照してください-int (numbers.Integral)はのサブタイプですnumbers.Rational

>>> import numbers
>>> isinstance(1337, numbers.Integral)
True
>>> isinstance(1337, numbers.Rational)
True
>>> issubclass(numbers.Integral, numbers.Rational)
True

intの分母は常に1であり、分子は値そのものです。

PEP 3141には、さまざまな数値タイプの実装に関する詳細が記載されています。たとえば、前のステートメントを証明します。

@property
def numerator(self):
    """Integers are their own numerators."""
    return +self

@property
def denominator(self):
    """Integers have a denominator of 1."""
    return 1
于 2012-04-14T19:45:24.087 に答える