-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
Description
To make fraction literals more readable, this should be made to work: Fraction('31_415_925_535 / 10_000_000_000')
PEP 515 – Underscores in Numeric Literals are well supported in all numeric types except for fractions. This works: 1_234 and Decimal('1_234'). However, this is not accepted: Fraction('1_234').
Like decimals and ints, fractions support leading and trailing whitespace for string inputs: int(' 123 '), Decimal(' 123.4 '), and Fraction(' 123/100 '). What is still needed is support for optional whitespace around the forward slash: Fraction('355 / 113'). This particular example came up when using the Fraction module to teach math to kids and where the string literal was obtained from calling input().
Side note: If you write print(355/113) in your code, Black will reformat it to print(355 / 113). Because of this, I expect that adults will also develop a preference for writing fractions with whitespace around the slash.