Python Gotcha with Octal Numbers

phil hunt philh at
Fri Feb 22 09:58:05 EST 2002

On 22 Feb 2002 04:06:42 -0800, Clive Page <cgp at> wrote:
>Philip Swartzleonard <starx at> wrote in message news:<Xns91B6DFD6A36CDRASXnewsDFE1 at>...
>> Steve has mentioned that UNIX people are used to it... i think it's a 
>> little deeper than that, b'cause as far as i know, _every_ programming 
>> language that has ever supported octal does it this way...
>Not quite all of them.  Fortran (at least since Fortran90) allows the
>forms O"01234" or O'1234' i.e. an upper-case O and a quoted string of
>digits (but they are only allowed in data statements, unfortunately).
>Prior to Fortran90 there was no _standard_ way of expressing octal
>constants, but lots of vendors had their own extensions.  But I don't
>recall ever coming across anything as error-prone as the C notation
>with a leading zero.  Fortran is a much safer language than C; I
>recommend it as the nearest thing to a compiled form of Python.  :-)

I like the way Smalltalk does it: BrN

Where B is a base, 2 to 36, and N is a number in that base, e.g:

2r11110000, 8r377, 16rFF, etc.

===== Philip Hunt ===== philh at =====
Herbivore, a zero-effort email encryption system. Details at:

More information about the Python-list mailing list