Пока я возился с 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, а не для числа с плавающей запятой.
Любое объяснение?