- they aren’t much use, not when you’ve got hexademical and binary literals.
they’re risky. As Doug Napoleone noted in a comment,
011is all too easily read as eleven rather than nine.
Python 3 attempts to patch the readability issue: octal nine must be written as
0O11. Choose your fonts with care,
0 look similar!
>>> 0o11, 0O11 (9, 9)
Octal numbers can also appear in escape sequences embedded in string and bytes literals. The syntax hasn’t changed for Python 3 and the rules are as in C: the escape sequence
\OOO embeds a character/byte with octal value
OOO. Up to three octal digits are allowed in an octal escape sequence.
Like octal integers, these octal escape sequences may appear to be of limited use — a syntactic oddity rarely seen in the wild — but in fact there’s one particular use case which is so common we don’t even notice it.
char const terminator = '\0';