Почему у объектов float в Python нет атрибута знаменателя, а у int есть?

Пока я возился с Python,

>>> [attr for attr in dir(1) if not attr.startswith('_')]
['bit_length', 'conjugate', 'denominator', 'imag', 'numerator', 'real']
>>> [attr for attr in dir(1.1) if not attr.startswith('_')]
['as_integer_ratio', 'conjugate', 'fromhex', 'hex', 'imag', 'is_integer', 'real']

Хотя я понимаю, что 'сопряженный', 'воображаемый' и 'реальный' существуют ради совместимости со сложным типом, я не могу понять, почему числитель и знаменатель существуют только для int, а не для числа с плавающей запятой.

Любое объяснение?

5
задан mskfisher 11 May 2012 в 15:41
поделиться