[Python-Dev] PEP 515: Underscores in Numeric Literals (original) (raw)
Martin Panter vadmium+py at gmail.com
Wed Feb 10 20:16:16 EST 2016
- Previous message (by thread): [Python-Dev] Time for a change of random number generator?
- Next message (by thread): [Python-Dev] PEP 515: Underscores in Numeric Literals
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I have occasionally wondered about this missing feature.
On 10 February 2016 at 22:20, Georg Brandl <g.brandl at gmx.net> wrote:
Abstract and Rationale ======================
This PEP proposes to extend Python's syntax so that underscores can be used in integral and floating-point number literals.
This should extend complex or imaginary literals like 10_000j for consistency.
Specification =============
* Trailing underscores are not allowed, because they look confusing and don't contribute much to readability. * No underscore allowed after a sign in an exponent (
1e-5
), because underscores can also not be used after the signs in front of the number (-1e5
). [. . .] The production list for integer literals would therefore look like this:: integer: decimalinteger | octinteger | hexinteger | bininteger decimalinteger: nonzerodigit [decimalrest] | "0" [("0" | "")* "0"] nonzerodigit: "1"..."9" decimalrest: (digit | "")* digit digit: "0"..."9" octinteger: "0" ("o" | "O") (octdigit | "")* octdigit hexinteger: "0" ("x" | "X") (hexdigit | "")* hexdigit bininteger: "0" ("b" | "B") (bindigit | "")* bindigit octdigit: "0"..."7" hexdigit: digit | "a"..."f" | "A"..."F" bindigit: "0" | "1" For floating-point literals:: floatnumber: pointfloat | exponentfloat pointfloat: [intpart] fraction | intpart "." exponentfloat: (intpart | pointfloat) exponent intpart: digit (digit | "")*
This allows trailing underscores such as 1_.2, 1.2_, 1.2_e-5. Your bullet point above suggests at least some of these are not desired.
fraction: "." intpart exponent: ("e" | "E") ""* ["+" | "-"] digit [decimalrest]
This allows underscores in the exponent (1e-5_0), contradicting the other bullet point.
- Previous message (by thread): [Python-Dev] Time for a change of random number generator?
- Next message (by thread): [Python-Dev] PEP 515: Underscores in Numeric Literals
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]