Есть тип Fraction для таких вещей: from fractions import Fraction
print(Fraction(1, 2)) Выведет 1/2 вполне понятное обозначение для дроби.
Некоторые дроби можно перевести в десятичное представление, но не все. 1/3, например, записывается в десятичной только приближённо, т.к. имеет бесконечное число знаков. Для десятичных дробей используем тип float или Decimal.