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 回答