-
-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fraction literals should support underscores in numbers and whitespace around numbers #96432
Comments
See also #88512 |
Agreed on the underscores, both for readability and for consistency with +1 to allowing whitespace around the slash, too. I don't agree with the slippery slope argument in #88512 (comment). |
FTR, underscore support was added previously in #26422 |
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
andDecimal('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 ')
, andFraction(' 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 callinginput()
.Side note: If you write
print(355/113)
in your code, Black will reformat it toprint(355 / 113)
. Because of this, I expect that adults will also develop a preference for writing fractions with whitespace around the slash.The text was updated successfully, but these errors were encountered: