Ответ 1
См. 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