Why gives "k = 09" a syntax error ?
Terry Reedy
tjreedy at udel.edu
Wed Oct 29 19:03:31 EDT 2008
Mensanator wrote:
> On Oct 29, 4:25 pm, Terry Reedy <tjre... at udel.edu> wrote:
>> Stef Mientki wrote:
>>> hello,
>>> Why gives "k = 09" a syntax error ?
>> You have gotten the 2.x answer. In 3.0, 0b,0o,0x prefixes are valid and
>> required for binary, octal, and hexadecimal literals. 0digits is invalid.
except 00, 000, etc.
> Is it documented? :-)
Very clearly.
Integer literals
Integer literals are described by the following lexical definitions:
integer ::= decimalinteger | octinteger | hexinteger | bininteger
decimalinteger ::= nonzerodigit digit* | "0"+
nonzerodigit ::= "1"..."9"
digit ::= "0"..."9"
octinteger ::= "0" ("o" | "O") octdigit+
hexinteger ::= "0" ("x" | "X") hexdigit+
bininteger ::= "0" ("b" | "B") bindigit+
octdigit ::= "0"..."7"
hexdigit ::= digit | "a"..."f" | "A"..."F"
bindigit ::= "0" | "1"
More information about the Python-list
mailing list