При использовании fraction.Fraction
в f-строке я ожидал, что смогу отформатировать его как float
. Однако я получаю TypeError
:
from fractions import Fraction
f = Fraction(11/10)
f'{f} as float {f:.3f}'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported format string passed to Fraction.__format__
Казалось бы, спецификации формата с плавающей запятой могут / должны поддерживаться для Fractions
.
Интересно, они для Decimal
:
from decimal import Decimal
f = Decimal('1.1')
f'{f} as float {f:.3f}'
Есть причина, по которой это не работает для Fraction
?
И да, я знаю, что могу сделать f'{f} as float {float(f):.3f}'
, но я спрашиваю, зачем это нужно.